fix(heal): fence format repair during pool transitions (#6342)

* fix(heal): fence format repair during pool transitions

* fix(heal): fence format writes during transitions
This commit is contained in:
cxymds
2026-08-23 04:24:48 +08:00
committed by GitHub
parent f7003dfddd
commit 20d1266496
6 changed files with 402 additions and 14 deletions
+12
View File
@@ -245,6 +245,18 @@ impl TestECStoreEnvBuilder {
.await
.expect("build test ECStore");
// The production bootstrap only persists pool.bin from the elected
// first cluster node. Test stores intentionally have no cluster
// election, but heal-format still requires that durable fence before
// it can write any disk format. Materialize the validated topology
// here so the shared fixture models a ready single-node store.
let mut pool_meta = ecstore.pool_meta.read().await.clone();
pool_meta.dont_save = false;
pool_meta
.save(ecstore.pools.clone())
.await
.expect("persist test pool metadata");
if self.init_bucket_metadata {
let buckets_list = ecstore
.list_bucket(&BucketOptions {