test(devnet): re-inject --sequence on mismatch in everlight retry loop#124
Merged
mateeullahmalik merged 1 commit intomasterfrom Apr 27, 2026
Merged
test(devnet): re-inject --sequence on mismatch in everlight retry loop#124mateeullahmalik merged 1 commit intomasterfrom
mateeullahmalik merged 1 commit intomasterfrom
Conversation
The everlight test's run_tx_with_retry helper retried up to 3x with sleep 2 on 'account sequence mismatch' but never reseeded the sequence. lumerad kept reading the stale local sequence cache, so every retry hit the same expected/got delta. Under load (S2's report churn -> S3.1's first big tx) this manifested as a hard fail instead of recovering. Fix: - Parse expected sequence from raw_log - Strip any prior --sequence flag and re-inject --sequence N - Bump retries 3 -> 5, sleep 2 -> 3 (still epoch-safe) Test-only change. No chain or supernode behavior modified. Verified locally on master devnet: PASS:35 FAIL:0 SKIP:4 EXIT=0.
Reviewed the changes to Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues. |
akobrin1
added a commit
that referenced
this pull request
May 1, 2026
Brings master's LEP-6 audit storage-truth scaffolding (#117), recent devnet test fixes (#123, #124), and scoped lint cleanup (#125) onto the evm branch. Conflict resolutions: - .gitignore: union of both sides, deduped, fixed .codex/.agents (file vs dir) - devnet/go.mod: master's lumera-only replace, kept evm's local sdk-go replace (devnet evmigration tests use BuildAndSignTxWithOptions only on local sdk-go); cosmos-sdk pinned to evm's v0.53.6. - supernode-setup.sh: folded master's EVERLIGHT_TEST_TARGET host_reporter bypass into evm's start_supernode_process abstraction so all call sites honor the env var. - audit_peer_ports / audit_recovery system tests: kept evm's wider epoch windows + multi-node assignment-aware reporting (the EVM-integrated binary is slower; tighter epochs flake). - distribution_freshness / query_get_reward_eligibility tests: kept evm's Bech32-prefixed config constants (master's lcfg.ValidatorAddressPrefix doesn't compile on evm). - metrics_state.go / metrics_validation.go: kept evm's reserved STORAGE_FULL helpers (markStorageFull, recoverFromStorageFull, lastNonDegradedState) for follow-up audit-enforcement wiring. - testutil/cryptotestutils → testutil/crypto: rewrote 3 master-side import paths to evm's renamed directory. - Dropped master's duplicate indexOfModule from lep6_module_order_test.go in favor of the existing helper in app/evm_test.go. Lint cleanup applied to bring `make lint` to 0 issues: - defer it.Close() → defer func() { _ = it.Close() }() across audit module. - gofmt -w on master-side test/sim files. - Removed unused //nolint:staticcheck directives on HasInvariants. - Marked reserved declarations (maxAuditEpochLookback, globalAuditKeeper) with //nolint:unused. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fix a real flake in everlight_test.sh exposed on master after PR #123 went green.
RCA
run_tx_with_retry retried 3x with sleep 2 on account sequence mismatch but never reseeded the sequence. lumerad kept reading the stale local sequence cache, so every retry hit the same expected/got delta. Under churn (S2 report retries followed by S3.1 first big tx) this manifested as a hard FAIL of S3.1.
Fix (test-only)
Risks / Rollback
Test-only. No chain, no supernode, no module code touched.
Verification
Master + clean devnet: PASS: 35 FAIL: 0 SKIP: 4 EXIT=0. S3.1 now correctly returns SKIP (legitimate epoch-resource path) instead of failing on a recoverable sequence cache miss.