mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-29 08:27:06 +00:00
perf(ecstore): avoid successful listing name clone
This commit is contained in:
@@ -814,19 +814,20 @@ fn resolve_decommission_partial_listing_entry(
|
|||||||
set_index: usize,
|
set_index: usize,
|
||||||
) -> Result<MetaCacheEntry> {
|
) -> Result<MetaCacheEntry> {
|
||||||
let candidate_count = entries.as_ref().iter().flatten().count();
|
let candidate_count = entries.as_ref().iter().flatten().count();
|
||||||
let candidate = entries.as_ref().iter().flatten().map(|entry| entry.name.clone()).next();
|
if let Some(entry) = entries.resolve(resolver) {
|
||||||
|
return Ok(entry);
|
||||||
|
}
|
||||||
|
|
||||||
entries.resolve(resolver).ok_or_else(|| {
|
let candidate = entries.as_ref().iter().flatten().map(|entry| entry.name.as_str()).next();
|
||||||
decommission_unresolved_listing_error(
|
Err(decommission_unresolved_listing_error(
|
||||||
bucket,
|
bucket,
|
||||||
prefix,
|
prefix,
|
||||||
candidate.as_deref(),
|
candidate,
|
||||||
candidate_count,
|
candidate_count,
|
||||||
disk_error_count,
|
disk_error_count,
|
||||||
pool_index,
|
pool_index,
|
||||||
set_index,
|
set_index,
|
||||||
)
|
))
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn record_decommission_entry_error(
|
async fn record_decommission_entry_error(
|
||||||
|
|||||||
Reference in New Issue
Block a user