diff --git a/test/integration/benchmark_test.go b/test/integration/benchmark_test.go index 6c33d01..6ca86be 100644 --- a/test/integration/benchmark_test.go +++ b/test/integration/benchmark_test.go @@ -46,7 +46,7 @@ func TestBenchmark(t *testing.T) { seiloadProfile: envOr("SEILOAD_PROFILE", "nightly_evm_transfer"), seiloadCommit: envOr("SEILOAD_COMMIT_ID", ""), durationMin: envInt(t, "DURATION_MINUTES", 10), - storageConfig: memiavlStorageConfig, + storageConfig: flatkvStorageConfig, // EVM tuning the followers need to absorb the load (matches the load // scenario's rpc overrides). rpcConfig: map[string]string{ diff --git a/test/integration/chaossuite_test.go b/test/integration/chaossuite_test.go index a14acf5..f1ae510 100644 --- a/test/integration/chaossuite_test.go +++ b/test/integration/chaossuite_test.go @@ -97,7 +97,7 @@ func TestChaosSuite(t *testing.T) { validators: 4, rpcNodes: 1, // an unfaulted observer of liveness + recovery timeout: 40 * time.Minute, - storageConfig: memiavlStorageConfig, + storageConfig: flatkvStorageConfig, } ctx, cancel := context.WithTimeout(context.Background(), s.timeout) diff --git a/test/integration/harness_test.go b/test/integration/harness_test.go index 66eb82c..332f662 100644 --- a/test/integration/harness_test.go +++ b/test/integration/harness_test.go @@ -40,14 +40,16 @@ import ( // DeletionPolicy cascade are the cleanup path. const runLabelKey = "sei.io/harness-run" -// memiavlStorageConfig is the storage write-mode the load + release suites run -// with — the controller default (cosmos_only) is rejected by the nightly image. -// NOT universal: the major-upgrade suite deliberately omits it (the storage / -// migration path is what that suite tests), so it's applied per-suite via -// spec.storageConfig, never globally. -var memiavlStorageConfig = map[string]string{ +// flatkvStorageConfig pins storage write-modes for the load/release/chaos suites +// (the major-upgrade suite omits it — exercising the migration path is what that +// suite tests). State commitment stays pinned to memiavl (the controller default +// is rejected by the nightly image). The state store routes to flatkv: the latest +// image builds the FlatKV state store for full nodes, and memiavl_only routes all +// data away from that store and deadlocks its open path, so RPC followers wedge +// before binding listeners. +var flatkvStorageConfig = map[string]string{ "storage.state_commit.write_mode": "memiavl_only", - "storage.state_store.write_mode": "memiavl_only", + "storage.state_store.write_mode": "flatkv_only", } // mergeConfig returns base overlaid with extra; extra wins on key collision. diff --git a/test/integration/release_test.go b/test/integration/release_test.go index 49ae922..4cea3de 100644 --- a/test/integration/release_test.go +++ b/test/integration/release_test.go @@ -28,7 +28,7 @@ const releaseAdminBalance = "1000000000000usei" // releaseBaseConfig is the seid config the release chain runs with: the memiavl // storage baseline (the nightly image rejects the cosmos_only default) plus kv tx // indexing (the harness queries txs) and a short mempool TTL. -var releaseBaseConfig = mergeConfig(memiavlStorageConfig, map[string]string{ +var releaseBaseConfig = mergeConfig(flatkvStorageConfig, map[string]string{ "tx_index.indexer": "kv", "mempool.ttl_duration": "60s", })