mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-29 00:17:11 +00:00
Fix Admin Heal API and Add Pagination Support for Large Buckets (#933)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: loverustfs <hello@rustfs.com> Co-authored-by: houseme <housemecn@gmail.com>
This commit is contained in:
@@ -600,6 +600,7 @@ impl Scanner {
|
||||
|
||||
// Initialize and start the node scanner
|
||||
self.node_scanner.initialize_stats().await?;
|
||||
// update object count and size for each bucket
|
||||
self.node_scanner.start().await?;
|
||||
|
||||
// Set local stats in aggregator
|
||||
@@ -614,21 +615,6 @@ impl Scanner {
|
||||
}
|
||||
});
|
||||
|
||||
// Trigger an immediate data usage collection so that admin APIs have fresh data after startup.
|
||||
let scanner = self.clone_for_background();
|
||||
tokio::spawn(async move {
|
||||
let enable_stats = {
|
||||
let cfg = scanner.config.read().await;
|
||||
cfg.enable_data_usage_stats
|
||||
};
|
||||
|
||||
if enable_stats {
|
||||
if let Err(e) = scanner.collect_and_persist_data_usage().await {
|
||||
warn!("Initial data usage collection failed: {}", e);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
||||
@@ -711,6 +711,7 @@ impl NodeScanner {
|
||||
// start scanning loop
|
||||
let scanner_clone = self.clone_for_background();
|
||||
tokio::spawn(async move {
|
||||
// update object count and size for each bucket
|
||||
if let Err(e) = scanner_clone.scan_loop_with_resume(None).await {
|
||||
error!("scanning loop failed: {}", e);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user