From c6ea2dd9b3f605a53ac15e82c2533b1be3b7b4fb Mon Sep 17 00:00:00 2001 From: overtrue Date: Sat, 22 Aug 2026 11:43:53 +0800 Subject: [PATCH] test(ecstore): isolate durable ILM scenario stack --- crates/ecstore/src/store/init.rs | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/crates/ecstore/src/store/init.rs b/crates/ecstore/src/store/init.rs index afb155ed3..ffd91a2a0 100644 --- a/crates/ecstore/src/store/init.rs +++ b/crates/ecstore/src/store/init.rs @@ -3422,9 +3422,27 @@ mod tests { } #[cfg(feature = "test-util")] - #[tokio::test] + #[test] #[serial_test::serial(storage_class_env)] - async fn decommission_migrates_and_verifies_registered_durable_ilm_records() { + fn decommission_migrates_and_verifies_registered_durable_ilm_records() { + std::thread::Builder::new() + .name("durable-ilm-decommission-test".to_string()) + .stack_size(16 * 1024 * 1024) + .spawn(|| { + let runtime = tokio::runtime::Builder::new_multi_thread() + .enable_all() + .worker_threads(2) + .build() + .expect("durable ILM decommission runtime should build"); + runtime.block_on(decommission_migrates_and_verifies_registered_durable_ilm_records_scenario()); + }) + .expect("durable ILM decommission scenario thread should spawn") + .join() + .expect("durable ILM decommission scenario should not panic"); + } + + #[cfg(feature = "test-util")] + async fn decommission_migrates_and_verifies_registered_durable_ilm_records_scenario() { let temp_dir = tempfile::tempdir().expect("create temp store dir"); let (ctx, store, _shutdown) = without_storage_class_env(build_isolated_test_store(temp_dir.path(), "durable-ilm-decommission", &[4, 4])).await;