Hierarchical state diffs in hot DB#6750
Conversation
d16f311 to
168d9f0
Compare
|
I have done some testing on this on the Holesky testnet as mentioned in #6775. Regular checkpoint sync works, so does syncing from a checkpoint >24 hours ago. Some findings:
(The first line of this is until slot 3498015, I truncated it) The beacon node wouldn't be able to start upon a restart: Another point worth noting is that the logs seem to be in a loop. Similar logs appear repeatedly in the log file, to the extent that it would only take a few seconds/minutes to fill up a 200MB log file. These are the repeated logs: (The first line of the above log is truncated)
The beacon node wouldn't be able to start upon a restart:
(slot 3504704 is the anchor slot from the database info)
If this error occurs and I change back to v6.0.1 and let it syncs for a few minutes, and then change back again to this binary PR, it could work (upgrade is successful) and the database schema shows V23: However, I notice the |
c79ddb3 to
8c9a1b2
Compare
|
This PR is amazing @dapplion, therefore you don't have to fix the conflicts yet. Please take your time and enjoy the day 💮 ❤️ |
Co-authored-by: Michael Sproul <michael@sigmaprime.io>
Squashed commit of the following: commit 629fa73 Author: Michael Sproul <michael@sigmaprime.io> Date: Sat Jun 14 12:58:45 2025 +1000 Tweak hdiff size metric buckets commit 9c8e58c Author: Michael Sproul <michael@sigmaprime.io> Date: Fri Jun 13 17:16:27 2025 +1000 Metric for hdiff sizes commit 707557a Author: Michael Sproul <michael@sigmaprime.io> Date: Wed Jun 11 15:36:18 2025 +1000 Clean up hdiff timing metrics commit 22f7f73 Merge: 9e77f82 8c6abc0 Author: Michael Sproul <michael@sigmaprime.io> Date: Wed Jun 11 14:36:04 2025 +1000 Merge remote-tracking branch 'origin/unstable' into tree-states-hot-rebase commit 9e77f82 Author: Michael Sproul <michael@sigmaprime.io> Date: Mon Jun 2 17:31:17 2025 +1000 Remove FIXMEs/mess commit 4913987 Merge: 80a5353 ae30480 Author: Michael Sproul <michael@sigmaprime.io> Date: Mon Jun 2 17:13:35 2025 +1000 Merge remote-tracking branch 'origin/unstable' into tree-states-hot-rebase commit 80a5353 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 29 17:28:49 2025 +1000 Remove some stale FIXMEs/typos commit bb23f2a Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 29 16:30:35 2025 +1000 Add a new test and fix split loading commit 6094e23 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 29 15:50:45 2025 +1000 Clean up test assert commit 06c2632 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 29 15:33:46 2025 +1000 Typo fix commit 064115c Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 29 13:49:25 2025 +1000 Fix DB manager downgrade commit 03fece6 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 29 12:35:37 2025 +1000 Skip migrating pre-split states in downgrade commit f0823fe Merge: bc47fd6 0ddf9a9 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 29 09:12:39 2025 +1000 Merge remote-tracking branch 'origin/unstable' into tree-states-hot-rebase commit bc47fd6 Author: Michael Sproul <michael@sigmaprime.io> Date: Wed May 28 16:50:24 2025 +1000 Avoid putting pre-split states in the state cache commit 5fb55be Author: Michael Sproul <michael@sigmaprime.io> Date: Wed May 28 15:38:50 2025 +1000 Fix migration of dense diffs commit 9acb1cf Author: Michael Sproul <michael@sigmaprime.io> Date: Wed May 28 13:27:37 2025 +1000 Fix one schema test and add a new one that's broken :sunglasses: commit 78d0496 Author: Michael Sproul <michael@sigmaprime.io> Date: Wed May 28 10:56:45 2025 +1000 Rework store config and compatibility checks commit 8ebe1b2 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue May 27 17:02:49 2025 +1000 Add test for get_ancestor_state_root commit b0191db Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 26 17:50:34 2025 +1000 Fix split slot migration commit 9800ab8 Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 26 16:34:05 2025 +1000 Attempt to fix archive node V24 upgrade commit 2485beb Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 22 17:03:06 2025 +1000 Add logging for downgrade commit d045796 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 22 11:10:46 2025 +1000 Align hot grid to freezer when migrating archive nodes commit 444c1cd Author: Michael Sproul <michael@sigmaprime.io> Date: Wed May 21 15:23:11 2025 +1000 Add a test for states retained for hot diffs commit 5d8ddb6 Author: Michael Sproul <michael@sigmaprime.io> Date: Wed May 21 12:22:00 2025 +1000 Delete temporary states on migration commit a4f442c Author: Michael Sproul <michael@sigmaprime.io> Date: Tue May 20 17:47:53 2025 +1000 Clean up some more TODOs commit c39daf2 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue May 20 17:41:31 2025 +1000 Correct V23 -> V24 in load_split comment commit c12dd1c Author: Michael Sproul <michael@sigmaprime.io> Date: Tue May 20 16:05:57 2025 +1000 Split hdiff metrics by hot/cold commit 1096565 Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 19 17:27:04 2025 +1000 Move legacy state storage code into migration file commit 6887ad7 Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 19 17:14:00 2025 +1000 Tweak comments in v24 migration commit b73cb1e Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 19 17:03:24 2025 +1000 Finish PruningCheckpoint thing commit b681648 Merge: f83b083 23ad833 Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 19 16:28:40 2025 +1000 Merge remote-tracking branch 'origin/unstable' into tree-states-hot-rebase commit f83b083 Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 19 16:27:03 2025 +1000 WIP remove pruning checkpoint commit 00ef82a Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 19 12:43:10 2025 +1000 Update comment/remove TODO commit c74913f Merge: 7d8343f 851ee2b Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 15 11:02:40 2025 +1000 Merge branch 'unstable' into tree-states-hot-rebase commit 7d8343f Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 8 14:59:10 2025 +1000 Use same hierarchy for hot and cold This is nice as it enables us to avoid recomputing diffs, we can just copy. commit e1475a1 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 8 14:43:34 2025 +1000 Prevent split from changing during ancestor calc commit 8fa3665 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 1 13:20:44 2025 +1000 Remove non-contiguous DAG checks commit 54ded28 Author: Michael Sproul <michael@sigmaprime.io> Date: Wed Apr 30 09:48:10 2025 +1000 Use 0u8 inside DiffBaseState::Snapshot commit 1184d72 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Apr 29 19:20:53 2025 +1000 More type-safe diff base state commit 088cfa0 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Apr 29 18:32:21 2025 +1000 Simplify migration logic commit fcbec47 Merge: 00fbd82 476f3a5 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Apr 15 11:05:18 2025 +1000 Merge branch 'unstable' into tree-states-hot-rebase commit 00fbd82 Author: hopinheimer <48147533+hopinheimer@users.noreply.github.com> Date: Mon Apr 14 21:04:53 2025 -0400 Delete `transaction_mutex` in store (#7311) * remove from db * remove dependent code * clippy happy * fixing clippy issues commit 990ba80 Merge: f70e543 d96b731 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Apr 10 14:36:43 2025 +1000 Merge remote-tracking branch 'origin/unstable' into tree-states-hot-rebase commit f70e543 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Apr 10 13:14:58 2025 +1000 Fix anchor archives commit 8657b08 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Apr 10 12:46:21 2025 +1000 Add note about multiple DAG roots commit 74ebf8b Author: Michael Sproul <michael@sigmaprime.io> Date: Mon Apr 7 17:04:36 2025 +1000 Fix clippy and tests commit fcc96a1 Merge: 9151436 70850fe Author: Michael Sproul <michael@sigmaprime.io> Date: Mon Apr 7 17:00:29 2025 +1000 Merge remote-tracking branch 'origin/unstable' into tree-states-hot-rebase commit 9151436 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Apr 3 13:54:31 2025 +1100 Fix test OOM issues on tree-states-hot (#7176) * Try rebasing * Heaptrack * Try to prevent and detect circular references * Don't use StateRootsIterator in get_ancestor_state_root * Skip one slot in get_ancestor_state_root * Heaptrack clippy fix * Fix store test * Log diff base state root * Jump by slots per historical vector * Maybe ok fix for test * get_ancestor_state_root * lint * Implement downgrade from v24 * Better on state write * Log on ws test chain dump * Fix WSS tests * Tweak condition * Revert "Heaptrack" This reverts commit f69c38c. * Reduce diff * Use debug repr * Spelling --------- Co-authored-by: dapplion <35266934+dapplion@users.noreply.github.com> commit b49272f Merge: 1c81c93 a322463 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Mar 18 15:58:59 2025 +1100 Merge remote-tracking branch 'origin/drop-headtracker' into tree-states-hot-rebase commit a322463 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Mar 18 15:53:20 2025 +1100 Fix compilation commit f4dd6fe Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Mar 17 14:56:15 2025 -0300 Clean up temporary flags on migration commit 1c81c93 Merge: 5b8680a 11cfa1c Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Mar 13 17:00:39 2025 +1100 Merge remote-tracking branch 'origin/drop-headtracker' into tree-states-hot-rebase commit 11cfa1c Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Mar 13 15:47:58 2025 +1100 Purge temporary states more, fixing bug commit 5b8680a Merge: 9f36dc8 b43c071 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Mar 13 14:51:20 2025 +1100 Merge remote-tracking branch 'origin/drop-headtracker' into tree-states-hot-rebase commit 9f36dc8 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri Mar 7 04:34:01 2025 -0300 Don't include massive lists in errors commit a1b45e6 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri Mar 7 04:33:25 2025 -0300 Persist states even if in cache commit b43c071 Merge: a613662 d60c24e Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Mar 13 11:31:48 2025 +1100 Merge remote-tracking branch 'origin/unstable' into drop-headtracker commit a928d30 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Mar 11 16:49:37 2025 +1100 Fix merge snafu commit 3f23942 Merge: 4e74ed1 a613662 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Mar 11 15:56:37 2025 +1100 Merge remote-tracking branch 'origin/drop-headtracker' into tree-states-hot-rebase commit a613662 Merge: ebd05c7 1916a2a Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Mar 11 15:15:04 2025 +1100 Merge remote-tracking branch 'origin/unstable' into drop-headtracker commit ebd05c7 Merge: d58d8ef b4e79ed Author: Michael Sproul <michael@sigmaprime.io> Date: Mon Mar 10 18:08:37 2025 +1100 Merge remote-tracking branch 'origin/unstable' into drop-headtracker commit 4e74ed1 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri Mar 7 02:12:12 2025 -0300 Fix wrapping sub commit ceb59e3 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri Mar 7 01:32:51 2025 -0300 Don't log extra diffs as roots commit f020adb Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri Mar 7 01:05:33 2025 -0300 Store latest_block_slot in state summary commit ecb647f Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri Mar 7 00:04:41 2025 -0300 Fix column prefix bug commit 36ab17c Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Thu Mar 6 23:35:44 2025 -0300 Better traceability for hdiff errors commit 33615ea Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Thu Mar 6 18:51:47 2025 -0300 Document migration better commit e6fb686 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Thu Mar 6 01:29:17 2025 -0300 Send it boy commit d58d8ef Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Thu Mar 6 14:52:27 2025 -0300 Update tests commit f8dbda4 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Wed Mar 5 23:51:41 2025 -0300 Add more details to errors commit 8931141 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Mar 6 12:16:45 2025 +1100 Abolish temporary states concept commit abb3c3f Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Feb 20 17:14:56 2025 +1100 Prevent deletion of payloads >= split slot commit 5cc266c Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Feb 20 13:27:40 2025 +1100 Clean up DB migrations commit 7abbaeb Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Feb 20 11:49:35 2025 +1100 Use descent from finality instead of viability commit 54010b0 Author: Lion - dapplion <35266934+dapplion@users.noreply.github.com> Date: Wed Feb 19 02:49:19 2025 -0300 Update consensus/proto_array/src/proto_array.rs Co-authored-by: Michael Sproul <michael@sigmaprime.io> commit cf3b776 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Feb 18 14:59:03 2025 +1100 Correct assert in `revert_minority_fork_on_resume` commit 37be9ae Author: Michael Sproul <michael@sigmaprime.io> Date: Fri Feb 14 16:51:42 2025 +1100 Tweaks in `prune_hot_db`. commit f6786eb Author: Michael Sproul <michael@sigmaprime.io> Date: Fri Feb 14 15:46:41 2025 +1100 Tidy and document `migrate_database`. commit 1dc6d5e Merge: 7033656 6ab6eae Author: Michael Sproul <michael@sigmaprime.io> Date: Fri Feb 14 15:16:34 2025 +1100 Merge remote-tracking branch 'origin/unstable' into drop-headtracker commit 7033656 Author: Michael Sproul <michael@sigmaprime.io> Date: Fri Feb 14 15:16:13 2025 +1100 Fix compilation and remove error from `heads` commit b9d8ae7 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Tue Feb 4 16:15:05 2025 -0300 Fix nodes_without_children commit ed97b97 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Tue Feb 4 15:51:48 2025 -0300 Use slot clock in heads commit 12fa5a8 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Feb 4 10:58:06 2025 +1100 Remove some persisted head stuff commit 91eab38 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Feb 3 20:50:39 2025 -0300 Deprecate block DAG for pruning commit e56299c Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Feb 3 19:50:02 2025 -0300 Annotate SummariesDagError error commit 979e43a Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Feb 4 09:23:58 2025 +1100 Tweak logs commit 663dfd3 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Feb 3 18:00:37 2025 -0300 Update tests commit 066f96a Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Feb 3 17:46:36 2025 -0300 Prevent very long log line commit c5b4293 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Feb 3 17:39:22 2025 -0300 Prune descendants of finalized checkpoint not finalized block commit 28d7b74 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Feb 3 16:38:51 2025 -0300 Add states descendants_of commit 10bbb2e Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Feb 3 16:17:52 2025 -0300 Log about multiple roots in dag tree commit 8c9a1b2 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Jan 20 18:41:51 2025 +0700 Implement db schema upgrade and downgrade commit 8c15bab Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri Jan 10 15:14:35 2025 +0800 Improve state summary dag compute logic commit be105d1 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Sat Dec 28 21:33:09 2024 +0800 Drop head tracker for summaries dag
Squashed commit of the following: commit 629fa73 Author: Michael Sproul <michael@sigmaprime.io> Date: Sat Jun 14 12:58:45 2025 +1000 Tweak hdiff size metric buckets commit 9c8e58c Author: Michael Sproul <michael@sigmaprime.io> Date: Fri Jun 13 17:16:27 2025 +1000 Metric for hdiff sizes commit 707557a Author: Michael Sproul <michael@sigmaprime.io> Date: Wed Jun 11 15:36:18 2025 +1000 Clean up hdiff timing metrics commit 22f7f73 Merge: 9e77f82 8c6abc0 Author: Michael Sproul <michael@sigmaprime.io> Date: Wed Jun 11 14:36:04 2025 +1000 Merge remote-tracking branch 'origin/unstable' into tree-states-hot-rebase commit 9e77f82 Author: Michael Sproul <michael@sigmaprime.io> Date: Mon Jun 2 17:31:17 2025 +1000 Remove FIXMEs/mess commit 4913987 Merge: 80a5353 ae30480 Author: Michael Sproul <michael@sigmaprime.io> Date: Mon Jun 2 17:13:35 2025 +1000 Merge remote-tracking branch 'origin/unstable' into tree-states-hot-rebase commit 80a5353 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 29 17:28:49 2025 +1000 Remove some stale FIXMEs/typos commit bb23f2a Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 29 16:30:35 2025 +1000 Add a new test and fix split loading commit 6094e23 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 29 15:50:45 2025 +1000 Clean up test assert commit 06c2632 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 29 15:33:46 2025 +1000 Typo fix commit 064115c Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 29 13:49:25 2025 +1000 Fix DB manager downgrade commit 03fece6 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 29 12:35:37 2025 +1000 Skip migrating pre-split states in downgrade commit f0823fe Merge: bc47fd6 0ddf9a9 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 29 09:12:39 2025 +1000 Merge remote-tracking branch 'origin/unstable' into tree-states-hot-rebase commit bc47fd6 Author: Michael Sproul <michael@sigmaprime.io> Date: Wed May 28 16:50:24 2025 +1000 Avoid putting pre-split states in the state cache commit 5fb55be Author: Michael Sproul <michael@sigmaprime.io> Date: Wed May 28 15:38:50 2025 +1000 Fix migration of dense diffs commit 9acb1cf Author: Michael Sproul <michael@sigmaprime.io> Date: Wed May 28 13:27:37 2025 +1000 Fix one schema test and add a new one that's broken :sunglasses: commit 78d0496 Author: Michael Sproul <michael@sigmaprime.io> Date: Wed May 28 10:56:45 2025 +1000 Rework store config and compatibility checks commit 8ebe1b2 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue May 27 17:02:49 2025 +1000 Add test for get_ancestor_state_root commit b0191db Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 26 17:50:34 2025 +1000 Fix split slot migration commit 9800ab8 Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 26 16:34:05 2025 +1000 Attempt to fix archive node V24 upgrade commit 2485beb Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 22 17:03:06 2025 +1000 Add logging for downgrade commit d045796 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 22 11:10:46 2025 +1000 Align hot grid to freezer when migrating archive nodes commit 444c1cd Author: Michael Sproul <michael@sigmaprime.io> Date: Wed May 21 15:23:11 2025 +1000 Add a test for states retained for hot diffs commit 5d8ddb6 Author: Michael Sproul <michael@sigmaprime.io> Date: Wed May 21 12:22:00 2025 +1000 Delete temporary states on migration commit a4f442c Author: Michael Sproul <michael@sigmaprime.io> Date: Tue May 20 17:47:53 2025 +1000 Clean up some more TODOs commit c39daf2 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue May 20 17:41:31 2025 +1000 Correct V23 -> V24 in load_split comment commit c12dd1c Author: Michael Sproul <michael@sigmaprime.io> Date: Tue May 20 16:05:57 2025 +1000 Split hdiff metrics by hot/cold commit 1096565 Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 19 17:27:04 2025 +1000 Move legacy state storage code into migration file commit 6887ad7 Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 19 17:14:00 2025 +1000 Tweak comments in v24 migration commit b73cb1e Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 19 17:03:24 2025 +1000 Finish PruningCheckpoint thing commit b681648 Merge: f83b083 23ad833 Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 19 16:28:40 2025 +1000 Merge remote-tracking branch 'origin/unstable' into tree-states-hot-rebase commit f83b083 Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 19 16:27:03 2025 +1000 WIP remove pruning checkpoint commit 00ef82a Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 19 12:43:10 2025 +1000 Update comment/remove TODO commit c74913f Merge: 7d8343f 851ee2b Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 15 11:02:40 2025 +1000 Merge branch 'unstable' into tree-states-hot-rebase commit 7d8343f Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 8 14:59:10 2025 +1000 Use same hierarchy for hot and cold This is nice as it enables us to avoid recomputing diffs, we can just copy. commit e1475a1 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 8 14:43:34 2025 +1000 Prevent split from changing during ancestor calc commit 8fa3665 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 1 13:20:44 2025 +1000 Remove non-contiguous DAG checks commit 54ded28 Author: Michael Sproul <michael@sigmaprime.io> Date: Wed Apr 30 09:48:10 2025 +1000 Use 0u8 inside DiffBaseState::Snapshot commit 1184d72 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Apr 29 19:20:53 2025 +1000 More type-safe diff base state commit 088cfa0 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Apr 29 18:32:21 2025 +1000 Simplify migration logic commit fcbec47 Merge: 00fbd82 476f3a5 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Apr 15 11:05:18 2025 +1000 Merge branch 'unstable' into tree-states-hot-rebase commit 00fbd82 Author: hopinheimer <48147533+hopinheimer@users.noreply.github.com> Date: Mon Apr 14 21:04:53 2025 -0400 Delete `transaction_mutex` in store (#7311) * remove from db * remove dependent code * clippy happy * fixing clippy issues commit 990ba80 Merge: f70e543 d96b731 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Apr 10 14:36:43 2025 +1000 Merge remote-tracking branch 'origin/unstable' into tree-states-hot-rebase commit f70e543 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Apr 10 13:14:58 2025 +1000 Fix anchor archives commit 8657b08 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Apr 10 12:46:21 2025 +1000 Add note about multiple DAG roots commit 74ebf8b Author: Michael Sproul <michael@sigmaprime.io> Date: Mon Apr 7 17:04:36 2025 +1000 Fix clippy and tests commit fcc96a1 Merge: 9151436 70850fe Author: Michael Sproul <michael@sigmaprime.io> Date: Mon Apr 7 17:00:29 2025 +1000 Merge remote-tracking branch 'origin/unstable' into tree-states-hot-rebase commit 9151436 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Apr 3 13:54:31 2025 +1100 Fix test OOM issues on tree-states-hot (#7176) * Try rebasing * Heaptrack * Try to prevent and detect circular references * Don't use StateRootsIterator in get_ancestor_state_root * Skip one slot in get_ancestor_state_root * Heaptrack clippy fix * Fix store test * Log diff base state root * Jump by slots per historical vector * Maybe ok fix for test * get_ancestor_state_root * lint * Implement downgrade from v24 * Better on state write * Log on ws test chain dump * Fix WSS tests * Tweak condition * Revert "Heaptrack" This reverts commit f69c38c. * Reduce diff * Use debug repr * Spelling --------- Co-authored-by: dapplion <35266934+dapplion@users.noreply.github.com> commit b49272f Merge: 1c81c93 a322463 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Mar 18 15:58:59 2025 +1100 Merge remote-tracking branch 'origin/drop-headtracker' into tree-states-hot-rebase commit a322463 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Mar 18 15:53:20 2025 +1100 Fix compilation commit f4dd6fe Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Mar 17 14:56:15 2025 -0300 Clean up temporary flags on migration commit 1c81c93 Merge: 5b8680a 11cfa1c Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Mar 13 17:00:39 2025 +1100 Merge remote-tracking branch 'origin/drop-headtracker' into tree-states-hot-rebase commit 11cfa1c Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Mar 13 15:47:58 2025 +1100 Purge temporary states more, fixing bug commit 5b8680a Merge: 9f36dc8 b43c071 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Mar 13 14:51:20 2025 +1100 Merge remote-tracking branch 'origin/drop-headtracker' into tree-states-hot-rebase commit 9f36dc8 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri Mar 7 04:34:01 2025 -0300 Don't include massive lists in errors commit a1b45e6 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri Mar 7 04:33:25 2025 -0300 Persist states even if in cache commit b43c071 Merge: a613662 d60c24e Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Mar 13 11:31:48 2025 +1100 Merge remote-tracking branch 'origin/unstable' into drop-headtracker commit a928d30 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Mar 11 16:49:37 2025 +1100 Fix merge snafu commit 3f23942 Merge: 4e74ed1 a613662 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Mar 11 15:56:37 2025 +1100 Merge remote-tracking branch 'origin/drop-headtracker' into tree-states-hot-rebase commit a613662 Merge: ebd05c7 1916a2a Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Mar 11 15:15:04 2025 +1100 Merge remote-tracking branch 'origin/unstable' into drop-headtracker commit ebd05c7 Merge: d58d8ef b4e79ed Author: Michael Sproul <michael@sigmaprime.io> Date: Mon Mar 10 18:08:37 2025 +1100 Merge remote-tracking branch 'origin/unstable' into drop-headtracker commit 4e74ed1 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri Mar 7 02:12:12 2025 -0300 Fix wrapping sub commit ceb59e3 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri Mar 7 01:32:51 2025 -0300 Don't log extra diffs as roots commit f020adb Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri Mar 7 01:05:33 2025 -0300 Store latest_block_slot in state summary commit ecb647f Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri Mar 7 00:04:41 2025 -0300 Fix column prefix bug commit 36ab17c Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Thu Mar 6 23:35:44 2025 -0300 Better traceability for hdiff errors commit 33615ea Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Thu Mar 6 18:51:47 2025 -0300 Document migration better commit e6fb686 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Thu Mar 6 01:29:17 2025 -0300 Send it boy commit d58d8ef Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Thu Mar 6 14:52:27 2025 -0300 Update tests commit f8dbda4 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Wed Mar 5 23:51:41 2025 -0300 Add more details to errors commit 8931141 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Mar 6 12:16:45 2025 +1100 Abolish temporary states concept commit abb3c3f Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Feb 20 17:14:56 2025 +1100 Prevent deletion of payloads >= split slot commit 5cc266c Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Feb 20 13:27:40 2025 +1100 Clean up DB migrations commit 7abbaeb Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Feb 20 11:49:35 2025 +1100 Use descent from finality instead of viability commit 54010b0 Author: Lion - dapplion <35266934+dapplion@users.noreply.github.com> Date: Wed Feb 19 02:49:19 2025 -0300 Update consensus/proto_array/src/proto_array.rs Co-authored-by: Michael Sproul <michael@sigmaprime.io> commit cf3b776 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Feb 18 14:59:03 2025 +1100 Correct assert in `revert_minority_fork_on_resume` commit 37be9ae Author: Michael Sproul <michael@sigmaprime.io> Date: Fri Feb 14 16:51:42 2025 +1100 Tweaks in `prune_hot_db`. commit f6786eb Author: Michael Sproul <michael@sigmaprime.io> Date: Fri Feb 14 15:46:41 2025 +1100 Tidy and document `migrate_database`. commit 1dc6d5e Merge: 7033656 6ab6eae Author: Michael Sproul <michael@sigmaprime.io> Date: Fri Feb 14 15:16:34 2025 +1100 Merge remote-tracking branch 'origin/unstable' into drop-headtracker commit 7033656 Author: Michael Sproul <michael@sigmaprime.io> Date: Fri Feb 14 15:16:13 2025 +1100 Fix compilation and remove error from `heads` commit b9d8ae7 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Tue Feb 4 16:15:05 2025 -0300 Fix nodes_without_children commit ed97b97 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Tue Feb 4 15:51:48 2025 -0300 Use slot clock in heads commit 12fa5a8 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Feb 4 10:58:06 2025 +1100 Remove some persisted head stuff commit 91eab38 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Feb 3 20:50:39 2025 -0300 Deprecate block DAG for pruning commit e56299c Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Feb 3 19:50:02 2025 -0300 Annotate SummariesDagError error commit 979e43a Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Feb 4 09:23:58 2025 +1100 Tweak logs commit 663dfd3 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Feb 3 18:00:37 2025 -0300 Update tests commit 066f96a Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Feb 3 17:46:36 2025 -0300 Prevent very long log line commit c5b4293 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Feb 3 17:39:22 2025 -0300 Prune descendants of finalized checkpoint not finalized block commit 28d7b74 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Feb 3 16:38:51 2025 -0300 Add states descendants_of commit 10bbb2e Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Feb 3 16:17:52 2025 -0300 Log about multiple roots in dag tree commit 8c9a1b2 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Jan 20 18:41:51 2025 +0700 Implement db schema upgrade and downgrade commit 8c15bab Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri Jan 10 15:14:35 2025 +0800 Improve state summary dag compute logic commit be105d1 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Sat Dec 28 21:33:09 2024 +0800 Drop head tracker for summaries dag
Squashed commit of the following: commit 629fa73 Author: Michael Sproul <michael@sigmaprime.io> Date: Sat Jun 14 12:58:45 2025 +1000 Tweak hdiff size metric buckets commit 9c8e58c Author: Michael Sproul <michael@sigmaprime.io> Date: Fri Jun 13 17:16:27 2025 +1000 Metric for hdiff sizes commit 707557a Author: Michael Sproul <michael@sigmaprime.io> Date: Wed Jun 11 15:36:18 2025 +1000 Clean up hdiff timing metrics commit 22f7f73 Merge: 9e77f82 8c6abc0 Author: Michael Sproul <michael@sigmaprime.io> Date: Wed Jun 11 14:36:04 2025 +1000 Merge remote-tracking branch 'origin/unstable' into tree-states-hot-rebase commit 9e77f82 Author: Michael Sproul <michael@sigmaprime.io> Date: Mon Jun 2 17:31:17 2025 +1000 Remove FIXMEs/mess commit 4913987 Merge: 80a5353 ae30480 Author: Michael Sproul <michael@sigmaprime.io> Date: Mon Jun 2 17:13:35 2025 +1000 Merge remote-tracking branch 'origin/unstable' into tree-states-hot-rebase commit 80a5353 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 29 17:28:49 2025 +1000 Remove some stale FIXMEs/typos commit bb23f2a Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 29 16:30:35 2025 +1000 Add a new test and fix split loading commit 6094e23 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 29 15:50:45 2025 +1000 Clean up test assert commit 06c2632 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 29 15:33:46 2025 +1000 Typo fix commit 064115c Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 29 13:49:25 2025 +1000 Fix DB manager downgrade commit 03fece6 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 29 12:35:37 2025 +1000 Skip migrating pre-split states in downgrade commit f0823fe Merge: bc47fd6 0ddf9a9 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 29 09:12:39 2025 +1000 Merge remote-tracking branch 'origin/unstable' into tree-states-hot-rebase commit bc47fd6 Author: Michael Sproul <michael@sigmaprime.io> Date: Wed May 28 16:50:24 2025 +1000 Avoid putting pre-split states in the state cache commit 5fb55be Author: Michael Sproul <michael@sigmaprime.io> Date: Wed May 28 15:38:50 2025 +1000 Fix migration of dense diffs commit 9acb1cf Author: Michael Sproul <michael@sigmaprime.io> Date: Wed May 28 13:27:37 2025 +1000 Fix one schema test and add a new one that's broken :sunglasses: commit 78d0496 Author: Michael Sproul <michael@sigmaprime.io> Date: Wed May 28 10:56:45 2025 +1000 Rework store config and compatibility checks commit 8ebe1b2 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue May 27 17:02:49 2025 +1000 Add test for get_ancestor_state_root commit b0191db Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 26 17:50:34 2025 +1000 Fix split slot migration commit 9800ab8 Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 26 16:34:05 2025 +1000 Attempt to fix archive node V24 upgrade commit 2485beb Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 22 17:03:06 2025 +1000 Add logging for downgrade commit d045796 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 22 11:10:46 2025 +1000 Align hot grid to freezer when migrating archive nodes commit 444c1cd Author: Michael Sproul <michael@sigmaprime.io> Date: Wed May 21 15:23:11 2025 +1000 Add a test for states retained for hot diffs commit 5d8ddb6 Author: Michael Sproul <michael@sigmaprime.io> Date: Wed May 21 12:22:00 2025 +1000 Delete temporary states on migration commit a4f442c Author: Michael Sproul <michael@sigmaprime.io> Date: Tue May 20 17:47:53 2025 +1000 Clean up some more TODOs commit c39daf2 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue May 20 17:41:31 2025 +1000 Correct V23 -> V24 in load_split comment commit c12dd1c Author: Michael Sproul <michael@sigmaprime.io> Date: Tue May 20 16:05:57 2025 +1000 Split hdiff metrics by hot/cold commit 1096565 Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 19 17:27:04 2025 +1000 Move legacy state storage code into migration file commit 6887ad7 Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 19 17:14:00 2025 +1000 Tweak comments in v24 migration commit b73cb1e Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 19 17:03:24 2025 +1000 Finish PruningCheckpoint thing commit b681648 Merge: f83b083 23ad833 Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 19 16:28:40 2025 +1000 Merge remote-tracking branch 'origin/unstable' into tree-states-hot-rebase commit f83b083 Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 19 16:27:03 2025 +1000 WIP remove pruning checkpoint commit 00ef82a Author: Michael Sproul <michael@sigmaprime.io> Date: Mon May 19 12:43:10 2025 +1000 Update comment/remove TODO commit c74913f Merge: 7d8343f 851ee2b Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 15 11:02:40 2025 +1000 Merge branch 'unstable' into tree-states-hot-rebase commit 7d8343f Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 8 14:59:10 2025 +1000 Use same hierarchy for hot and cold This is nice as it enables us to avoid recomputing diffs, we can just copy. commit e1475a1 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 8 14:43:34 2025 +1000 Prevent split from changing during ancestor calc commit 8fa3665 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu May 1 13:20:44 2025 +1000 Remove non-contiguous DAG checks commit 54ded28 Author: Michael Sproul <michael@sigmaprime.io> Date: Wed Apr 30 09:48:10 2025 +1000 Use 0u8 inside DiffBaseState::Snapshot commit 1184d72 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Apr 29 19:20:53 2025 +1000 More type-safe diff base state commit 088cfa0 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Apr 29 18:32:21 2025 +1000 Simplify migration logic commit fcbec47 Merge: 00fbd82 476f3a5 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Apr 15 11:05:18 2025 +1000 Merge branch 'unstable' into tree-states-hot-rebase commit 00fbd82 Author: hopinheimer <48147533+hopinheimer@users.noreply.github.com> Date: Mon Apr 14 21:04:53 2025 -0400 Delete `transaction_mutex` in store (sigp#7311) * remove from db * remove dependent code * clippy happy * fixing clippy issues commit 990ba80 Merge: f70e543 d96b731 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Apr 10 14:36:43 2025 +1000 Merge remote-tracking branch 'origin/unstable' into tree-states-hot-rebase commit f70e543 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Apr 10 13:14:58 2025 +1000 Fix anchor archives commit 8657b08 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Apr 10 12:46:21 2025 +1000 Add note about multiple DAG roots commit 74ebf8b Author: Michael Sproul <michael@sigmaprime.io> Date: Mon Apr 7 17:04:36 2025 +1000 Fix clippy and tests commit fcc96a1 Merge: 9151436 70850fe Author: Michael Sproul <michael@sigmaprime.io> Date: Mon Apr 7 17:00:29 2025 +1000 Merge remote-tracking branch 'origin/unstable' into tree-states-hot-rebase commit 9151436 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Apr 3 13:54:31 2025 +1100 Fix test OOM issues on tree-states-hot (sigp#7176) * Try rebasing * Heaptrack * Try to prevent and detect circular references * Don't use StateRootsIterator in get_ancestor_state_root * Skip one slot in get_ancestor_state_root * Heaptrack clippy fix * Fix store test * Log diff base state root * Jump by slots per historical vector * Maybe ok fix for test * get_ancestor_state_root * lint * Implement downgrade from v24 * Better on state write * Log on ws test chain dump * Fix WSS tests * Tweak condition * Revert "Heaptrack" This reverts commit f69c38c. * Reduce diff * Use debug repr * Spelling --------- Co-authored-by: dapplion <35266934+dapplion@users.noreply.github.com> commit b49272f Merge: 1c81c93 a322463 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Mar 18 15:58:59 2025 +1100 Merge remote-tracking branch 'origin/drop-headtracker' into tree-states-hot-rebase commit a322463 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Mar 18 15:53:20 2025 +1100 Fix compilation commit f4dd6fe Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Mar 17 14:56:15 2025 -0300 Clean up temporary flags on migration commit 1c81c93 Merge: 5b8680a 11cfa1c Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Mar 13 17:00:39 2025 +1100 Merge remote-tracking branch 'origin/drop-headtracker' into tree-states-hot-rebase commit 11cfa1c Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Mar 13 15:47:58 2025 +1100 Purge temporary states more, fixing bug commit 5b8680a Merge: 9f36dc8 b43c071 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Mar 13 14:51:20 2025 +1100 Merge remote-tracking branch 'origin/drop-headtracker' into tree-states-hot-rebase commit 9f36dc8 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri Mar 7 04:34:01 2025 -0300 Don't include massive lists in errors commit a1b45e6 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri Mar 7 04:33:25 2025 -0300 Persist states even if in cache commit b43c071 Merge: a613662 d60c24e Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Mar 13 11:31:48 2025 +1100 Merge remote-tracking branch 'origin/unstable' into drop-headtracker commit a928d30 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Mar 11 16:49:37 2025 +1100 Fix merge snafu commit 3f23942 Merge: 4e74ed1 a613662 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Mar 11 15:56:37 2025 +1100 Merge remote-tracking branch 'origin/drop-headtracker' into tree-states-hot-rebase commit a613662 Merge: ebd05c7 1916a2a Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Mar 11 15:15:04 2025 +1100 Merge remote-tracking branch 'origin/unstable' into drop-headtracker commit ebd05c7 Merge: d58d8ef b4e79ed Author: Michael Sproul <michael@sigmaprime.io> Date: Mon Mar 10 18:08:37 2025 +1100 Merge remote-tracking branch 'origin/unstable' into drop-headtracker commit 4e74ed1 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri Mar 7 02:12:12 2025 -0300 Fix wrapping sub commit ceb59e3 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri Mar 7 01:32:51 2025 -0300 Don't log extra diffs as roots commit f020adb Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri Mar 7 01:05:33 2025 -0300 Store latest_block_slot in state summary commit ecb647f Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri Mar 7 00:04:41 2025 -0300 Fix column prefix bug commit 36ab17c Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Thu Mar 6 23:35:44 2025 -0300 Better traceability for hdiff errors commit 33615ea Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Thu Mar 6 18:51:47 2025 -0300 Document migration better commit e6fb686 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Thu Mar 6 01:29:17 2025 -0300 Send it boy commit d58d8ef Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Thu Mar 6 14:52:27 2025 -0300 Update tests commit f8dbda4 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Wed Mar 5 23:51:41 2025 -0300 Add more details to errors commit 8931141 Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Mar 6 12:16:45 2025 +1100 Abolish temporary states concept commit abb3c3f Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Feb 20 17:14:56 2025 +1100 Prevent deletion of payloads >= split slot commit 5cc266c Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Feb 20 13:27:40 2025 +1100 Clean up DB migrations commit 7abbaeb Author: Michael Sproul <michael@sigmaprime.io> Date: Thu Feb 20 11:49:35 2025 +1100 Use descent from finality instead of viability commit 54010b0 Author: Lion - dapplion <35266934+dapplion@users.noreply.github.com> Date: Wed Feb 19 02:49:19 2025 -0300 Update consensus/proto_array/src/proto_array.rs Co-authored-by: Michael Sproul <michael@sigmaprime.io> commit cf3b776 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Feb 18 14:59:03 2025 +1100 Correct assert in `revert_minority_fork_on_resume` commit 37be9ae Author: Michael Sproul <michael@sigmaprime.io> Date: Fri Feb 14 16:51:42 2025 +1100 Tweaks in `prune_hot_db`. commit f6786eb Author: Michael Sproul <michael@sigmaprime.io> Date: Fri Feb 14 15:46:41 2025 +1100 Tidy and document `migrate_database`. commit 1dc6d5e Merge: 7033656 6ab6eae Author: Michael Sproul <michael@sigmaprime.io> Date: Fri Feb 14 15:16:34 2025 +1100 Merge remote-tracking branch 'origin/unstable' into drop-headtracker commit 7033656 Author: Michael Sproul <michael@sigmaprime.io> Date: Fri Feb 14 15:16:13 2025 +1100 Fix compilation and remove error from `heads` commit b9d8ae7 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Tue Feb 4 16:15:05 2025 -0300 Fix nodes_without_children commit ed97b97 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Tue Feb 4 15:51:48 2025 -0300 Use slot clock in heads commit 12fa5a8 Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Feb 4 10:58:06 2025 +1100 Remove some persisted head stuff commit 91eab38 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Feb 3 20:50:39 2025 -0300 Deprecate block DAG for pruning commit e56299c Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Feb 3 19:50:02 2025 -0300 Annotate SummariesDagError error commit 979e43a Author: Michael Sproul <michael@sigmaprime.io> Date: Tue Feb 4 09:23:58 2025 +1100 Tweak logs commit 663dfd3 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Feb 3 18:00:37 2025 -0300 Update tests commit 066f96a Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Feb 3 17:46:36 2025 -0300 Prevent very long log line commit c5b4293 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Feb 3 17:39:22 2025 -0300 Prune descendants of finalized checkpoint not finalized block commit 28d7b74 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Feb 3 16:38:51 2025 -0300 Add states descendants_of commit 10bbb2e Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Feb 3 16:17:52 2025 -0300 Log about multiple roots in dag tree commit 8c9a1b2 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon Jan 20 18:41:51 2025 +0700 Implement db schema upgrade and downgrade commit 8c15bab Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri Jan 10 15:14:35 2025 +0800 Improve state summary dag compute logic commit be105d1 Author: dapplion <35266934+dapplion@users.noreply.github.com> Date: Sat Dec 28 21:33:09 2024 +0800 Drop head tracker for summaries dag
* HDiffBuffer cache for the hot DB * Add to cache * Improve hit metric * Cache only snapshot hdiffbuffer * Dedicated cache eviction logic * CLI flag * Cache more * Tweaks from self-review * Update CLI docs
|
Let's merge 😁 |
Output for 7.1.0 release: ``` # Commit SHA PR Number Has backwards-incompat Label PR Title --- ------------ ----------- ------------------------------ -------------------------------------------- 1 d5a03c9 6872 False Add more range sync tests (#6872) 2 ec2fe38 - - [NO PR MATCH]: Merge remote-tracking branch 'origin/release-v7.0.0-beta.0' into unstable 3 3992d6b 6862 False Fix misc PeerDAS todos (#6862) 4 d603881 6928 False Add PeerDAS metrics to track subnets without peers (#6928) 5 431dd7c 6917 False Remove un-used batch sync error condition (#6917) 6 0055af5 6932 False Unsubscribe blob topics at Fulu fork (#6932) 7 6ab6eae - - [NO PR MATCH]: Merge remote-tracking branch 'origin/release-v7.0.0-beta.0' into unstable 8 193061f 6634 False Use RpcSend on RPC::self_limiter::ready_requests (#6634) 9 e5e43ec - - [NO PR MATCH]: Merge remote-tracking branch 'origin/release-v7.0.0' into unstable 10 b4be514 7012 False Add spamoor_blob in network_params.yaml (#7012) 11 01df433 7021 False update codeowners, to be more specific (#7021) 12 60964fc 6829 False Expose blst internals (#6829) 13 3fab6a2 6866 False Block availability data enum (#6866) 14 6e11bdd 6947 False feat: adds CLI flags to delay publishing for edge case testing on PeerDAS devnets (#6947) 15 454c7d0 7017 False Remove LC server config from HTTP API (#7017) 16 54b4150 7030 False Add test flag to override `SYNC_TOLERANCE_EPOCHS` for range sync testing (#7030) 17 cf4104a - - [NO PR MATCH]: Merge remote-tracking branch 'origin/release-v7.0.0' into unstable 18 8a77252 7034 False Cache validator registration only after successful publish (#7034) 19 1235d44 7048 False Remove `watch` (#7048) 20 3bc5f1f 7081 False Validator Registration ssz support (#7081) 21 b4e79ed - - [NO PR MATCH]: Merge remote-tracking branch 'origin/release-v7.0.0' into unstable 22 8d1abce 6915 False Bump SSZ version for larger bitfield `SmallVec` (#6915) 23 1916a2a 7020 False chore: update to rust-eth-kzg to 0.5.4 (#7020) 24 1a08e6f 7109 False Remove duplicate sync_tolerance_epochs config (#7109) 25 f23f984 7057 False switch to upstream gossipsub (#7057) 26 d60c24e 6339 True Integrate tracing (#6339) 27 a6bdc47 6991 False Log range sync download errors (#6991) 28 574b204 6680 False decouple `eth2` from `store` and `lighthouse_network` (#6680) 29 c095a0a 7130 False update gossipsub to the latest upstream revision (#7130) 30 5cda164 7137 False Log `file appender` initialization errors properly (#7137) 31 d96123b 7149 False Remove unnecessary `filter_layer` in logger builder (#7149) 32 a1b1d7a 7150 False Remove `discv5` logs from logfile output (#7150) 33 ca23765 6998 False Track request IDs in RangeBlockComponentsRequest (#6998) 34 d323699 7183 False Add missing `osaka-time` lcli param (#7183) 35 cbf1c04 - - [NO PR MATCH]: resolve merge conflicts between untstable and release-v7.0.0 36 2f37bf4 - - [NO PR MATCH]: Fix more merge conflicts between unstable and release-v7.0.0 37 3f6c11d 6995 False Some updates to Lighthouse book (#6995) 38 9dce729 7182 False Ensure sqlite and rusqlite are optional in `consensus/types` (#7182) 39 6f31d44 7033 False Remove CGC from data_availability checker (#7033) 40 ca8eaea 7169 True Remove `crit` as an option from the CLI entirely (#7169) 41 bde0f1e - - [NO PR MATCH]: Merge remote-tracking branch 'origin/release-v7.0.0' into unstable 42 fb7ec0d 7112 False Change `genesis-state-url-timeout` (#7112) 43 4839ed6 7168 False Tracing cleanup (#7168) 44 578db67 - - [NO PR MATCH]: Merge remote-tracking branch 'origin/release-v7.0.0' into backmerge-apr-2 45 80626e5 7244 False Attempt to fix flaky network tests (#7244) 46 d6cd049 7238 False RPC RequestId Cleanup (#7238) 47 0e6da0f - - [NO PR MATCH]: Merge branch 'release-v7.0.0' into v7-backmerge 48 57abffc 7240 False Disable log color when running in non-interactive mode (#7240) 49 6a75f24 7188 False Fix the `getBlobs` metric and ensure it is recorded promptly to prevent miscounts (#7188) 50 7cc64ca 6990 False Add missing error log and remove redundant id field from lookup logs (#6990) 51 591fb7d - - [NO PR MATCH]: Merge branch 'release-v7.0.0' into backmerge-for-openssl 52 e77fb01 7265 False Remove CLI conflict for secrets-dir and datadir (#7265) 53 b5d40e3 7256 False Align logs (#7256) 54 70850fe 6744 True Drop head tracker for summaries DAG (#6744) 55 47a85cd 7269 False Bump version to v7.1.0-beta.0 (not a release) (#7269) 56 e924264 7258 False Fullnodes to publish data columns from EL `getBlobs` (#7258) 57 759b061 7117 False Offloading KZG Proof Computation from the beacon node (#7117) 58 d96b731 7192 False Fix for #6296: Deterministic RNG in peer DAS publish block tests (#7192) 59 39eb814 - - [NO PR MATCH]: Merge branch 'release-v7.0.0' into unstable 60 70f8ab9 7309 False Add riscv64 build support (#7309) 61 be68dd2 7281 False Fix wrong custody column count for lookup blocks (#7281) 62 08882c6 6996 False Fix execution engine integration tests with latest geth version (#6996) 63 476f3a5 7161 False Add `MAX_BLOBS_PER_BLOCK_FULU` config (#7161) 64 c32569a 7225 False Restore HTTP API logging and add more metrics (#7225) 65 410af7c 7279 False feat: update mainnet bootnodes (#7279) 66 80fe133 7280 False Update Lighthouse Book for Electra features (#7280) 67 9f4b0cd 7343 False Fix Kurtosis doppelganger CI (#7343) 68 e61e92b - - [NO PR MATCH]: Merge remote-tracking branch 'origin/stable' into unstable 69 5527125 7340 False Fix GitHub releases page looks bad in GitHub dark theme (#7340) 70 c13e069 7324 False Revise logging when `queue is full` (#7324) 71 1dd3704 7346 False Enable cross-compiling for riscv64 architecture (#7346) 72 402a81c 7350 False Fix Kurtosis testnet (#7350) 73 1324d3d 5923 False Delayed RPC Send Using Tokens (#5923) 74 6fad186 6747 False feat: presign for validator account (#6747) 75 2e2b0d2 7351 False Revise consolidation info in Lighthouse book (#7351) 76 63a10ea 6956 True Changing `boot_enr.yaml` to expect `bootstap_nodes.yaml` for pectra devnet (#6956) 77 34a6c3a 6897 True vc: increase default gas limit (#6897) 78 94ccd76 6653 False Add documentation for VC API `/lighthouse/beacon/health` (#6653) 79 9779b4b 7326 False Optimize `validate_data_columns` (#7326) 80 93ec9df 7304 False Compute proposer shuffling only once in gossip verification (#7304) 81 2aa5d5c 7359 False Make sure to log SyncingChain ID (#7359) 82 c8224c8 7387 False docs: fix broken link to voluntary exit guide (#7387) 83 43c38a6 7378 False Change slog to tracing in comments (#7378) 84 beb0ce6 6922 False Make range sync peer loadbalancing PeerDAS-friendly (#6922) 85 3d92e36 6705 False Modularize validator store (#6705) 86 058dae0 7405 False Add requires --http when using vc subcommands --http-port (#7405) 87 0f13029 7409 False Don't publish data columns reconstructed from RPC columns to the gossip network (#7409) 88 8dc3d23 7400 False Add a default timeout to all `BeaconNodeHttpClient` requests (#7400) 89 e90fcbe 7416 False Add ARM binary for macOS in release (#7416) 90 4b9c16f 7199 False Add Electra forks to basic sim tests (#7199) 91 a497ec6 6975 False Retry custody requests after peer metadata updates (#6975) 92 e0c1f27 7394 False simulator: Persist beacon logs (#7394) 93 92391cd 7284 False update gossipsub to the latest upstream revision (#7284) 94 5933901 7399 False `peerdas-devnet-7`: update `DataColumnSidecarsByRoot` request to use `DataColumnsByRootIdentifier` (#7399) 95 5b25a48 7404 False Siren installation improvement (#7404) 96 e051c7c 7396 False Siren Pectra Feature Updates (#7396) 97 0a91798 7370 False impl test random for some types (#7370) 98 807848b 7443 False Next sync committee branch bug (#7443) 99 851ee2b 7454 False Extract get_domain for VoluntaryExit (#7454) 100 c2c7fb8 7460 False Make DAG construction more permissive (#7460) 101 b1138c2 7451 False Add additional mergify rules to automate triaging (#7451) 102 cc6ae9d 7463 False Fix mergify infinite loop. (#7463) 103 1853d83 7458 False Added E::slots_per_epoch() to deneb time calculation (#7458) 104 c4182e3 7433 False simulator: Write dependency logs to separate files (#7433) 105 e0ee148 7470 False Prevent mergify from updating labels while CI is still running. (#7470) 106 e21198c 7472 False One more attempt to fix mergify condition. (#7472) 107 268809a 7471 False Rust clippy 1.87 lint fixes (#7471) 108 b051a5d 7469 False Delete `at-most` in `lighthouse vm create` (#7469) 109 1d27855 7369 False impl from hash256 for `ExecutionBlockHash` (#7369) 110 23ad833 7417 False Change default EngineState to online (#7417) 111 fcfcbf9 7481 False Update mdlint to disable descriptive-link-text (#7481) 112 7684d1f 7372 False ContextDeserialize and Beacon API Improvements (#7372) 113 5393d33 7411 False Silence `Uninitialized` warn log on start-up (#7411) 114 1e6cdeb 6799 False feat: Add docker reproducible builds (#6799) 115 50dbfdf 7455 False Some updates to Lighthouse book (#7455) 116 af87135 7484 False Move MD059 rule to configuration file (#7484) 117 805c2dc 5047 False Correct reward denominator in op pool (#5047) 118 7e2df6b 7474 False Empty list `[]` to return all validators balances (#7474) 119 f06d1d0 7495 False Fix blob download from checkpointz servers (#7495) 120 0688932 7497 False Pass blobs into `ValidatorStore::sign_block` (#7497) 121 e29b607 7427 False Move notifier and latency service to `validator_services` (#7427) 122 7759cb8 7494 False Update mergify rule to not evaluate PRs that are not ready for review - to reduce noise and avoid updating stale PRs. (#7494) 123 2e96e97 7507 False Use slice.is_sorted now that it's stable (#7507) 124 a8035d7 7506 False Enable stdout logging in rpc_tests (#7506) 125 817f14c 7500 False Send execution_requests in fulu (#7500) 126 537fc5b 7459 False Revive network-test logs files in CI (#7459) 127 cf0f959 7180 False Improve log readability during rpc_tests (#7180) 128 ce8d081 7246 False Ensure logfile permissions are maintained after rotation (#7246) 129 6af8c18 7052 False Publish EL Info in Metrics (#7052) 130 a2797d4 7512 False Fix formatting errors from cargo-sort (#7512) 131 f01dc55 7505 False Update `engine_getBlobsV2` response type and add `getBlobsV2` tests (#7505) 132 e6ef644 7493 False Verify `getBlobsV2` response and avoid reprocessing imported data columns (#7493) 133 7c89b97 7382 False Handle attestation validation errors (#7382) 134 8dde5bd - - [NO PR MATCH]: Update mergify rules so that I can add `waiting-on-author` on a PR that's passing CI. Remove noisy comments. 135 8989ef8 7025 False Enable arithmetic lint in rate-limiter (#7025) 136 b7fc034 - - [NO PR MATCH]: Fix condition 137 9e9c51b - - [NO PR MATCH]: Remove redundant `and` 138 999b045 - - [NO PR MATCH]: Merge pull request #7525 from jimmygchen/mergify-again 139 0ddf9a9 7332 False Remove support for database migrations prior to schema version v22 (#7332) 140 5cda6a6 7522 False Mitigate flakiness in test_delayed_rpc_response (#7522) 141 4d21846 7533 False Prevent `AvailabilityCheckError` when there's no new custody columns to import (#7533) 142 39744df 7393 False simulator: Fix `Failed to initialize dependency logging` (#7393) 143 38a5f33 7529 False Add `console-subscriber` feature for debugging (#7529) 144 886ceb7 6882 False Run Assertoor tests in CI (#6882) 145 94a1446 7541 False Fix unexpected blob error and duplicate import in fetch blobs (#7541) 146 ae30480 7521 False Implement EIP-7892 BPO hardforks (#7521) 147 f67068e 7518 False Update `staking-deposit-cli` to `ethstaker-deposit-cli` (#7518) 148 cd83d8d 7544 False Add a name to the Tokio task (#7544) 149 357a8cc 7549 False Checkpoint sync without the blobs from Fulu (#7549) 150 2d9fc34 7540 False Fulu EF tests v1.6.0-alpha.0 (#7540) 151 dcee76c 7548 False Update key generation in validator manager (#7548) 152 9a49720 7530 False Add e2e sync tests to CI (#7530) 153 d457cee 7118 False Don't create child lookup if parent is faulty (#7118) 154 2f807e2 7538 False Add support for nightly tests (#7538) 155 e098f66 7570 False Update kurtosis config and EL images (#7570) 156 b2e8b67 7566 False Reduce number of basic sim test nodes from 7 to 4 (#7566) 157 170cd0f 7579 False Store the libp2p/discv5 logs when stopping local-testnet (#7579) 158 b08d49c 7559 False Changes for `fusaka-devnet-1` (#7559) 159 8c6abc0 7574 False Optimise parallelism in compute cells operations by zipping first (#7574) 160 7416d06 7561 False Add genesis sync test to CI (#7561) 161 076a1c3 7587 False Data column sidecar event (#7587) 162 5f208bb 7578 True Implement basic validator custody framework (no backfill) (#7578) 163 9803d69 7590 False Implement status v2 version (#7590) 164 5472cb8 7582 False Batch verify KZG proofs for getBlobsV2 (#7582) 165 a65f782 7594 False Drop stale registrations without reducing CGC (#7594) 166 ccd99c1 7588 False Wait before column reconstruction (#7588) 167 dc5f5af 7595 False Fix flaky test_rpc_block_reprocessing (#7595) 168 4fc0665 7592 False Add more context to Late Block Re-orgs (#7592) 169 6135f41 7591 False Add data columns sidecars debug beacon API (#7591) 170 3d2d65b 7593 False Advertise `--advertise-false-custody-group-count` for testing PeerDAS (#7593) 171 6786b9d 7444 True Single attestation "Full" implementation (#7444) 172 dd98534 6750 True Hierarchical state diffs in hot DB (#6750) 173 f67084a 7437 False Remove reprocess channel (#7437) 174 d509246 7620 False Remove instrumenting log level (#7620) 175 11bcccb 7133 True Remove all prod eth1 related code (#7133) 176 e34a9a0 6551 False Allow the `--beacon-nodes` list to be updated at runtime (#6551) 177 3fefda6 7611 False Send byrange responses in the correct requested range (#7611) 178 cef04ee 7462 False Implement `validator_identities` Beacon API endpoint (#7462) 179 fd643c3 7632 False Un-ignore EF test for v1.6.0-alpha.1 (#7632) 180 56b2d4b 7636 False Remove instrumenting log level (#7636) 181 8e3c5d1 7644 False Rust 1.89 compiler lint fix (#7644) 182 a0a6b93 7551 False Do not compute sync selection proofs for the sync duty at the current slot (#7551) 183 9b1f3ed 7652 False Add gossip check (#7652) 184 83cad25 7657 False Fix Rust 1.88 clippy errors & execution engine tests (#7657) 185 522e00f 7656 False Fix incorrect `waker` update condition (#7656) 186 6ea5f14 7597 False feat: better error message for light_client/bootstrap endpoint (#7597) 187 2d759f7 6576 False Fix beacon_chain metrics descriptions (#6576) 188 6be646c 7666 True Bump DB schema to v25 (#7666) 189 e45ba84 7673 False Increase http client default timeout to 2s in `http-api` tests. (#7673) 190 25ea8a8 7667 False Add Michael as codeowner for store crate (#7667) 191 c1f94d9 7669 False Test database schema stability (#7669) 192 257d270 6612 False Add voluntary exit via validator manager (#6612) 193 e305cb1 7661 True Custody persist fix (#7661) 194 41742ce 7683 False Update `SAMPLES_PER_SLOT` to be number of custody groups instead of data columns (#7683) 195 69c9c70 7681 False Use prepare_beacon_proposer endpoint for validator custody registration (#7681) 196 fcc602a 7646 False Update fulu network configs and add `MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS` (#7646) 197 a459a9a 7689 False Fix and test checkpoint sync from genesis (#7689) 198 b35854b 7692 False Record v2 beacon blocks http api metrics separately (#7692) 199 c7bb3b0 7693 False Fix lookups of the block at `oldest_block_slot` (#7693) 200 0f895f3 7695 False Bump default gas limit (#7695) 201 56485cc 7707 False Remove unneeded spans that caused debug logs to appear when level is set to `info` (#7707) 202 bd8a2a8 7023 False Gossip recently computed light client data (#7023) 203 7b2f138 - - [NO PR MATCH]: Merge remote-tracking branch 'origin/stable' into release-v7.1.0 204 8e55684 7723 False Reintroduce `--logfile` with deprecation warning (#7723) 205 8b5ccac 7663 False Error from RPC `send_response` when request doesn't exist on the active inbound requests (#7663) 206 cfb1f73 7609 False Release v7.1.0 (#7609) ``` Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>
Proposed Changes
This PR implements #5978 (tree-states) but on the hot DB. It allows Lighthouse to massively reduce its disk footprint during non-finality and overall I/O in all cases.
Closes #6580
Conga into #6744
TODOs
TODO Good optimization for future PRs
TODO Maybe things good to have
NOTTODO
descendants_of_checkpointto filter only the state summaries that descend of finalized checkpoint]Additional Info
Original WIP PR with lots of context and discussion
Some resources to get up to speed with HDiff concepts: