Skip to content

fix(blockstm): deterministic account creation scheduling#25962

Draft
gjermundgaraba wants to merge 53 commits intofeat/krakatoafrom
gjermund/blockstm-determinism-fix-attempt
Draft

fix(blockstm): deterministic account creation scheduling#25962
gjermundgaraba wants to merge 53 commits intofeat/krakatoafrom
gjermund/blockstm-determinism-fix-attempt

Conversation

@gjermundgaraba
Copy link
Copy Markdown
Contributor

Summary

  • Fix non-deterministic account creation by sorting write-set estimates so MVMemory sees consistent key ordering
  • Add pre-estimation of globalAccountNumberKey for new accounts in preEstimates, ensuring the scheduler knows about the contended sequence key upfront
  • Remove dead code from StatusEntry (unused IncarnationWrittenSoFar field and related methods)
  • Standardize all blockstm test files on stretchr/testify (replace manual t.Fatalf/t.Errorf with require/assert)
  • Clean up minor convention issues: redundant error args, var vs make([], 0), clarifying comments, consolidate test files

mattac21 and others added 30 commits November 28, 2025 18:09
feat(baseapp): Implement Krakatoa mempool ABCI handlers
Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Evan Etton <[email protected]>
Co-authored-by: dmytroheknt <[email protected]>
Co-authored-by: Alex | Cosmos Labs <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mmsqe <[email protected]>
Co-authored-by: Vlad J <[email protected]>
Co-authored-by: Tyler <[email protected]>
Co-authored-by: Aaron Craelius <[email protected]>
Co-authored-by: John Letey <[email protected]>
Co-authored-by: Jammy Arkens <[email protected]>
Co-authored-by: Evan Etton <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Evan Etton <[email protected]>
Co-authored-by: dmytroheknt <[email protected]>
Co-authored-by: Alex | Cosmos Labs <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mmsqe <[email protected]>
Co-authored-by: Vlad J <[email protected]>
Co-authored-by: Tyler <[email protected]>
Co-authored-by: Aaron Craelius <[email protected]>
Co-authored-by: John Letey <[email protected]>
Co-authored-by: Jammy Arkens <[email protected]>
Co-authored-by: Evan Etton <[email protected]>
Co-authored-by: maradini77 <[email protected]>
Co-authored-by: viktorking7 <[email protected]>
This squash merge brings in the following changes:
- IAVLX tree implementation and enhancements
- Block STM metrics and improvements
- Main branch updates and dependency updates
- Various bug fixes and documentation updates

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Eric-Warehime and others added 22 commits February 4, 2026 17:35
This reverts commit a083a42.
chore: Merge main into feat/krakatoa
Remove unused ExecutedOnce() method and unreachable duplicate guard
blocks in Resume(). Add t.Helper() to stress test helper for thelper
lint compliance.
- Remove redundant error arg from require.NoError assertion
- Use var declaration instead of make([]uint64, 0)
- Add clarifying comments on duplicate prefix values and sort ordering
- Consolidate account_creation_test.go into stress test file
@github-actions
Copy link
Copy Markdown
Contributor

@gjermundgaraba your pull request is missing a changelog!

@gjermundgaraba gjermundgaraba marked this pull request as draft February 18, 2026 13:23
authEstimate := Locations{accKey}
if authKVStore != nil {
authStoreMu.Lock()
hasAccount := authKVStore.Has(accKey)
Copy link
Copy Markdown
Collaborator

@yihuang yihuang Feb 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The trade-off here is a slower pre-estimation, because previously pre-estimation only decode tx and do some simple stateless logic, now it'll access storage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants