From 05ccb5f46997e41b290cd5b3398f78ebe0368585 Mon Sep 17 00:00:00 2001 From: bdchatham Date: Wed, 24 Jun 2026 08:55:52 -0700 Subject: [PATCH] fix(harness): disable SeiDB state store on nightly nodes, drop dead ss write-mode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The load/release/chaos suites pinned storage.state_store.write_mode=memiavl_only. On current sei-chain that key no longer exists — StateStoreConfig has no write-mode field (EVM routing is the evm-split bool), so the override was a silently-ignored no-op. The real trigger is ss-enable: the latest image defaults the SeiDB state store ON for full nodes, and enabling it on a fresh-genesis RPC follower deadlocks seid at store-open (all threads futex_wait, no listeners bound), so the benchmark's EVM-readiness gate never passes and NightlyRunFailed fires. Validators are unaffected (controller role-default ss-enable=false). Aligns the override with the current config schema: drop the dead write-mode key, set storage.state_store.enable=false to match the validators. State commitment stays on memiavl. FlatKV-migration coverage is unaffected — that lives in the SC layer (sc-write-mode), not the historical state store. Co-Authored-By: Claude Opus 4.8 --- test/integration/harness_test.go | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/test/integration/harness_test.go b/test/integration/harness_test.go index 66eb82c..b77bf3b 100644 --- a/test/integration/harness_test.go +++ b/test/integration/harness_test.go @@ -40,14 +40,18 @@ 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. +// memiavlStorageConfig pins storage for the load/release/chaos suites (the +// major-upgrade suite omits it — it tests the migration path). State commitment +// stays on memiavl; the SeiDB state store is disabled because the latest image +// defaults it on for full nodes, and enabling it on a fresh-genesis RPC follower +// deadlocks seid at store-open before it binds listeners. Matches the validators +// (ss-enable=false); FlatKV-migration coverage is unaffected — that's the SC +// layer, not the historical state store. (storage.state_store.write_mode is gone: +// the SS layer has no write-mode field on current sei-chain — EVM routing is the +// evm-split bool — so the old key was a silently-ignored no-op.) var memiavlStorageConfig = map[string]string{ "storage.state_commit.write_mode": "memiavl_only", - "storage.state_store.write_mode": "memiavl_only", + "storage.state_store.enable": "false", } // mergeConfig returns base overlaid with extra; extra wins on key collision.