From 51272d34dd0013871cd28ba817526ef2fe67a405 Mon Sep 17 00:00:00 2001 From: Zhengchao An Date: Mon, 24 Aug 2026 14:30:25 +0800 Subject: [PATCH] fix(app): restore stable Rust 1.98 builds (#6487) * chore(scanner): narrow s3s DTO references * fix(app): scope usage overlay import to tests * fix(app): bound object-lock lookup future * fix(log-analyzer): follow decommission migration logs --- crates/log-analyzer/src/rules/seed/ops.rs | 3 ++- crates/log-analyzer/src/rules/seed/tests.rs | 2 +- rustfs/src/app/multipart_usecase.rs | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/crates/log-analyzer/src/rules/seed/ops.rs b/crates/log-analyzer/src/rules/seed/ops.rs index 211ebc350..72e5acb70 100644 --- a/crates/log-analyzer/src/rules/seed/ops.rs +++ b/crates/log-analyzer/src/rules/seed/ops.rs @@ -21,7 +21,7 @@ use crate::model::LogLevel; pub(super) fn rules() -> Vec { vec![ Rule { - anchors: strings(["decommission_object err"]), + anchors: strings(["Decommission object migration failed"]), min_count: 3, ..base( "decom-object-failed", @@ -29,6 +29,7 @@ pub(super) fn rules() -> Vec { "ops", "下线迁移部分对象失败", any([ + contains("Decommission object migration failed"), contains("decommission_object err"), contains("get_object_reader err"), contains("decommission_entry failed"), diff --git a/crates/log-analyzer/src/rules/seed/tests.rs b/crates/log-analyzer/src/rules/seed/tests.rs index 3e8c596ee..0a283eed8 100644 --- a/crates/log-analyzer/src/rules/seed/tests.rs +++ b/crates/log-analyzer/src/rules/seed/tests.rs @@ -265,7 +265,7 @@ fn every_rule_has_a_positive_sample() { msg("failed to start decommission: insufficient target pool capacity: required 100 bytes available 50 bytes"), ), // ops - ("decom-object-failed", msg("decommission_pool: decommission_object err timeout")), + ("decom-object-failed", msg("Decommission object migration failed")), ("rebalance-worker-error", msg("Rebalance worker 3 error: disk gone")), ( "datamove-same-pool", diff --git a/rustfs/src/app/multipart_usecase.rs b/rustfs/src/app/multipart_usecase.rs index 5549c01b8..71b4be2c2 100644 --- a/rustfs/src/app/multipart_usecase.rs +++ b/rustfs/src/app/multipart_usecase.rs @@ -524,7 +524,7 @@ impl DefaultMultipartUsecase { .await .map_err(ApiError::from)?, ); - let object_lock_config_state = load_bucket_object_lock_config_state(&bucket).await?; + let object_lock_config_state = Box::pin(load_bucket_object_lock_config_state(&bucket)).await?; let previous_current_sizes = match store.get_object_info(&bucket, &key, ¤t_opts).await { Ok(existing_obj_info) => { validate_existing_object_lock_for_write(&object_lock_config_state, &existing_obj_info, ¤t_opts)?;