fix(consensus)!: use jmt crate - #1472
Conversation
|
On hold for now due to the amount of work involved, the JMT restoration procedure is different and will require a rethink for state sync. |
Test Results (CI)0 tests 0 ✅ 0s ⏱️ Results for commit dadd07e. ♻️ This comment has been updated with latest results. |
2641069 to
ade9321
Compare
Description --- fix(state_sync)!: sync state version Motivation and Context --- The shard state version is now synchronised across validators. However, this invariant is not enforced by consensus. A future PR (or the change to the JMT #1472) may enforce this in future. This is the first part that enables clients to periodically sync state changes using a (shard, state_version) tuple. How Has This Been Tested? --- Manually by deleting a validator node's data and restarting it, observing sync logs and checking the database against the sync node What process can a PR reviewer use to test or verify this change? --- Sync should work as before Breaking Changes --- - [ ] None - [x] Requires data directory to be deleted - [ ] Other - Please specify <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - New Features - State transitions now include a version, enabling more robust syncing and auditing. - State sync processes per-version batches with a defined maximum batch size, improving performance and stability. - Refactor - Streamlined state-sync flow with clearer progress and completion logging. - Chores - RPC protocol updated; legacy state-sync messages removed. Ensure peers are upgraded for compatibility. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
ade9321 to
8e511ec
Compare
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
8e511ec to
e16f3d2
Compare
* development: (141 commits) fix(db-inspector): improve state tree table (tari-project#1693) fix(epoch-oracle): greatly reduce base layer epoch sync times (tari-project#1692) docs: add readme for running individual cuke tests (tari-project#1691) chore: v0.17.0 (tari-project#1690) chore: update tari_crypto in libp2p fork (tari-project#1689) fix(consensus)!: re-request foreign proposals after timeout + other fixes (tari-project#1687) fix(swarm): remove signalling server (tari-project#1688) refactor: remove validator node cli (tari-project#1684) chore: delete unneeded crates (tari-project#1685) fix(indexer): improve cache handling and clean up (tari-project#1686) docs: add vn cli docs (tari-project#1683) fix: remove expect on close connection (tari-project#1679) fix: remove another expect (tari-project#1681) chore: don't show warning on first start (tari-project#1677) fix(consensus): correct request value flags for sync (tari-project#1682) fix(consensus): more explicit vote equivocation detection (tari-project#1676) chore(deps): bump actions/download-artifact from 6 to 7 (tari-project#1675) chore(deps): bump actions/upload-artifact from 5 to 6 (tari-project#1674) feat(wallet): use mmap to read value lookup file (tari-project#1673) feat(engine): implement template upgrades/migrations (tari-project#1671) ...
* development: (21 commits) chore(deps): bump react-router and react-router-dom in /applications/tari_swarm_daemon/webui (tari-project#1716) chore: move state store tests (tari-project#1718) fix(consensus)!: fix determinism bug in current epoch (tari-project#1715) fix(engine): reduce memory for WASM calls + ensure threads disable (tari-project#1717) fix(engine): makes CreateAccount instruction idempotent (tari-project#1714) fix(consensus)!: single byte entity ID + fixes (tari-project#1708) fix: upgrade notify (fixes tari-project#1200) (tari-project#1710) fix(ci): remove nightly-2025-06-25 cargo check (tari-project#1709) chore(deps): bump rsa from 0.9.8 to 0.9.10 (tari-project#1704) fix(epochoracle): remove base layer only function from oracle trait (tari-project#1707) refactor(indexer/client): minor improvement to API consistency (tari-project#1706) fix: cargo fmt (tari-project#1705) chore: remove unused deps, update webrtc (tari-project#1703) chore: rename typescript-bindings to ootle-ts-bindings (tari-project#1701) fix!: correct typescript type for ExtraData (tari-project#1702) fix(cucumber): fixes over faucet max errors & vn not reg (tari-project#1699) fix: replace json5 with serde_json5 (fix tari-project#1648) (tari-project#1700) fix(template_builtin): adds liquidity pool template with tests (tari-project#1697) fix: change cucumber_log to macro to get proper line numbers (tari-project#1696) fix: add list-headers to grpc for cucumber (tari-project#1695) ...
Description
Motivation and Context
How Has This Been Tested?
What process can a PR reviewer use to test or verify this change?
Breaking Changes