From cce3ecdbfc0baf9d6b33081c9f18f7f89b6226e0 Mon Sep 17 00:00:00 2001 From: overtrue Date: Sat, 22 Aug 2026 01:03:37 +0800 Subject: [PATCH] refactor(e2e/kms): replace fixed startup sleeps with KMS readiness probe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace 33 hard-coded sleep(3s) / sleep(2s) startup waits in KMS e2e tests with an active readiness probe (wait_for_kms_ready) that polls the KMS status endpoint with exponential backoff (200ms→1s, 5s budget). This cuts per-test startup latency from a fixed 3s to ~200-500ms while remaining robust against slow CI machines. Non-startup sleeps (ILM polling loops, fault-recovery detection delays, test-runner inter-test pauses) are left untouched. --- .../src/kms/bucket_default_encryption_test.rs | 10 +++++----- .../src/kms/copy_object_self_copy_sse_test.rs | 6 +++--- .../src/kms/copy_object_version_restore_sse_test.rs | 2 +- crates/e2e_test/src/kms/encryption_metadata_test.rs | 6 +++--- crates/e2e_test/src/kms/kms_comprehensive_test.rs | 11 +++++------ crates/e2e_test/src/kms/kms_edge_cases_test.rs | 12 ++++++------ crates/e2e_test/src/kms/kms_fault_recovery_test.rs | 8 ++++---- crates/e2e_test/src/kms/kms_local_test.rs | 8 ++++---- crates/e2e_test/src/kms/kms_vault_test.rs | 11 ++++++++--- crates/e2e_test/src/kms/multipart_encryption_test.rs | 10 +++++----- 10 files changed, 44 insertions(+), 40 deletions(-) diff --git a/crates/e2e_test/src/kms/bucket_default_encryption_test.rs b/crates/e2e_test/src/kms/bucket_default_encryption_test.rs index fecba2b89..c0f0f0181 100644 --- a/crates/e2e_test/src/kms/bucket_default_encryption_test.rs +++ b/crates/e2e_test/src/kms/bucket_default_encryption_test.rs @@ -37,7 +37,7 @@ async fn test_bucket_default_sse_s3_put_object() -> Result<(), Box Result<(), Box Result<(), Box Result<(), Box Result<(), Box Result<(), Box Result<(), let mut kms_env = LocalKMSTestEnvironment::new().await?; let default_key_id = kms_env.start_rustfs_for_local_kms().await?; - tokio::time::sleep(tokio::time::Duration::from_secs(3)).await; + kms_env.wait_for_kms_ready().await?; let s3_client = kms_env.base_env.create_s3_client(); kms_env.base_env.create_test_bucket(TEST_BUCKET).await?; @@ -250,7 +250,7 @@ async fn test_multipart_upload_writes_encrypted_data() -> Result<(), Box Result<(), Box Result<(), Box Result<(), Box Result<(), Box Result<(), Box Result<(), Box Result<(), Box Result<(), Box Result<(), Box Result<(), Box Result<(), Box Result<(), Box Result<(), Box Result<(), Box Result<(), Box Result<(), Box Result<(), Box Result<(), Bo let mut kms_env = LocalKMSTestEnvironment::new().await?; let _default_key_id = kms_env.start_rustfs_for_local_kms().await?; - tokio::time::sleep(tokio::time::Duration::from_secs(3)).await; + kms_env.wait_for_kms_ready().await?; let s3_client = kms_env.base_env.create_s3_client(); kms_env.base_env.create_test_bucket(TEST_BUCKET).await?; @@ -187,7 +187,7 @@ async fn test_step3_multipart_upload_with_sse_s3() -> Result<(), Box Result<(), Box Result<(), Box