We came across this issue where the operation simply hangs with no error propagating back to the caller, and also couldn't find a way to set a timeout on KV operations.
self.default_scope()
.collection("test_collection") //test_collection doesn't exists
.upsert(key, value, None)
.await
.map_err(map_error)?;