fix(ecstore): fence bucket metadata generations (#5427)

This commit is contained in:
cxymds
2026-07-29 22:34:11 +08:00
committed by GitHub
parent 3f20fbd77b
commit 55be5af661
3 changed files with 396 additions and 128 deletions
@@ -66,14 +66,14 @@ impl NodeService {
}));
}
let Some(_store) = self.resolve_object_store() else {
let Some(store) = self.resolve_object_store() else {
return Ok(Response::new(LoadBucketMetadataResponse {
success: false,
error_info: Some("errServerNotInitialized".to_string()),
}));
};
match reload_bucket_metadata(&bucket).await {
match reload_bucket_metadata(store, &bucket).await {
Ok(()) => {
if scanner_maintenance_change {
rustfs_scanner::record_scanner_maintenance_change(&bucket);
+2 -2
View File
@@ -1442,8 +1442,8 @@ pub(crate) async fn set_bucket_metadata(bucket: String, bm: BucketMetadata) -> R
ecstore_bucket::metadata_sys::set_bucket_metadata(bucket, bm).await
}
pub(crate) async fn reload_bucket_metadata(bucket: &str) -> Result<()> {
ecstore_bucket::metadata_sys::reload_bucket_metadata(bucket).await
pub(crate) async fn reload_bucket_metadata(api: Arc<ECStore>, bucket: &str) -> Result<()> {
ecstore_bucket::metadata_sys::reload_bucket_metadata(api, bucket).await
}
pub(crate) async fn remove_bucket_metadata(bucket: &str) -> Result<bool> {