paradigmxyz
reth
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
fix(rocksdb): validate storage settings on database load Add validation at ProviderFactory creation to catch invalid configurations when loading an existing database, not just at genesis init. This ensures nodes with pre-existing invalid configurations (RocksDB history without changesets in static files) fail with a clear error message rather than experiencing subtle divergence bugs. Added InvalidStorageSettings error variant to ProviderError.
fix/rocksdb-history-divergence
3 minutes ago
perf(prune): use bulk table clear for PruneMode::Full When PruneMode::Full is configured for segments with min_blocks() == 0 (SenderRecovery, TransactionLookup), the pruner now clears the entire table in a single MDBX operation instead of iterating entry-by-entry. This provides O(1) table clearing vs O(n) row-by-row deletion, which is a significant speedup for tables with millions of entries. Changes: - Add clear_table<T>() method to DbTxPruneExt trait - SenderRecovery: use bulk clear for Full mode - TransactionLookup: use bulk clear for Full mode Closes #21296
alexey/bulk-prune-full-mode
8 minutes ago
perf(prune): use bulk table clear for PruneMode::Full When PruneMode::Full is configured for segments with min_blocks() == 0 (SenderRecovery, TransactionLookup), the pruner now clears the entire table in a single MDBX operation instead of iterating entry-by-entry. This provides O(1) table clearing vs O(n) row-by-row deletion, which is a significant speedup for tables with millions of entries. Changes: - Add clear_table<T>() method to DbTxPruneExt trait - SenderRecovery: use bulk clear for Full mode - TransactionLookup: use bulk clear for Full mode Closes #21296
gakonst:perf-bulk-prune-full
9 minutes ago
docs: expand sharding explanation with key structure
yk/dedup-history-shard-ops
9 minutes ago
fix(rocksdb): enforce history indices require changesets in static files Per Joshie's feedback, the proper fix for RocksDB history divergence is not changing commit order, but enforcing the architectural invariant: RocksDB history indices (AccountsHistory, StoragesHistory) are derived data that index into changesets. They can only be safely stored in RocksDB when changesets are in static files (crash-stable), not MDBX (can be unwound). Changes: - Revert commit order back to: static_file → RocksDB → MDBX - Add StorageSettings::validate() to enforce the constraint - Add validation at genesis init with clear error message - Update invariants.rs documentation - Add tests for validation logic The constraint: account_history_in_rocksdb OR storages_history_in_rocksdb requires account_changesets_in_static_files=true
fix/rocksdb-history-divergence
10 minutes ago
Update mod.rs
andrewshab3:redundant-clone
10 minutes ago
docs: explain what a shard is
yk/dedup-history-shard-ops
11 minutes ago
docs: add comments to flush_shards_partial
yk/dedup-history-shard-ops
13 minutes ago
Active Branches
perf(prune): use bulk table clear for PruneMode::Full
last run
8 minutes ago
#21302
CodSpeed Performance Gauge
0%
refactor(stages): deduplicate history shard loading with HistoryShardWriter trait
last run
9 minutes ago
#21236
CodSpeed Performance Gauge
0%
fix(rocksdb): correct history index divergence causing nonce errors after unwind
last run
10 minutes ago
#21216
CodSpeed Performance Gauge
0%
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs