diff options
author | Alex Auvolat <alex@adnab.me> | 2024-02-22 12:28:21 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2024-02-22 12:28:21 +0100 |
commit | cff702a951cb5bb193c7a891ababfd1d962ae9ed (patch) | |
tree | f7747f950672246c1ecc079e50222a07d23bc635 /src/garage/admin/key.rs | |
parent | 7e212e20e02b9cdced52ce23111214c6285a095a (diff) | |
download | garage-cff702a951cb5bb193c7a891ababfd1d962ae9ed.tar.gz garage-cff702a951cb5bb193c7a891ababfd1d962ae9ed.zip |
[lock-createbucket] Add node-global lock for bucket/key operations (fix #723)lock-createbucket
Diffstat (limited to 'src/garage/admin/key.rs')
-rw-r--r-- | src/garage/admin/key.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/garage/admin/key.rs b/src/garage/admin/key.rs index 1c92670c..bd010d2c 100644 --- a/src/garage/admin/key.rs +++ b/src/garage/admin/key.rs @@ -76,9 +76,10 @@ impl AdminRpcHandler { } async fn handle_delete_key(&self, query: &KeyDeleteOpt) -> Result<AdminRpc, Error> { - let key_helper = self.garage.key_helper(); + let helper = self.garage.locked_helper().await; - let mut key = key_helper + let mut key = helper + .key() .get_existing_matching_key(&query.key_pattern) .await?; @@ -88,7 +89,7 @@ impl AdminRpcHandler { )); } - key_helper.delete_key(&mut key).await?; + helper.delete_key(&mut key).await?; Ok(AdminRpc::Ok(format!( "Key {} was deleted successfully.", |