Skip to content

Hierarchical state diffs in hot DB #6750

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 95 commits into from
Jun 19, 2025
Merged

Hierarchical state diffs in hot DB #6750

merged 95 commits into from
Jun 19, 2025

Conversation

dapplion
Copy link
Collaborator

@dapplion dapplion commented Jan 2, 2025

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

  • Fix OOM in CI Fix test OOM issues on tree-states-hot #7176
  • optimise store_hot_state to avoid storing a duplicate state if the summary already exists (should be safe from races now that pruning is cleaner)
  • mispelled: get_ancenstor_state_root
  • get_ancestor_state_root should use state summaries
  • Prevent split from changing during ancestor calc
  • Use same hierarchy for hot and cold

TODO Good optimization for future PRs

  • On the migration, if the latest hot snapshot is aligned with the cold snapshot migrate the diffs instead of the full states.
align slot  time
10485760    Nov-26-2024
12582912    Sep-14-2025
14680064    Jul-02-2026

TODO Maybe things good to have

NOTTODO

  • Use fork-choice and a new method descendants_of_checkpoint to 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:

@dapplion dapplion added work-in-progress PR is a work-in-progress tree-states Ongoing state and database overhaul labels Jan 2, 2025
@dapplion dapplion force-pushed the tree-states-hot-rebase branch from d16f311 to 168d9f0 Compare January 2, 2025 10:01
@chong-he
Copy link
Member

chong-he commented Feb 3, 2025

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:

  1. Seeing the following logs when syncing an archive node:
Jan 26 08:04:01.957 ERRO Database write failed, action: reverting blob DB changes, error: MissingHotStateSummary(0x554bd524427dfc0a0efcabbdc65f087dcd053385fd378cc83aa78a5d9b9db167), service: freezer_db, module: store::hot_cold_store:1390
Jan 26 08:04:01.957 ERRO Database write failed!, error: MissingHotStateSummary(0x554bd524427dfc0a0efcabbdc65f087dcd053385fd378cc83aa78a5d9b9db167), msg: Restoring fork choice from disk, service: beacon, module: beacon_chain::beacon_chain:3957

(The first line of this is until slot 3498015, I truncated it)
Shortly after this, the following appears:

Jan 26 08:04:03.946 CRIT Beacon block processing error, error: DBError(MissingHotStateSummary(0x554bd524427dfc0a0efcabbdc65f087dcd053385fd378cc83aa78a5d9b9db167)), service: beacon, module: beacon_chain::beacon_chain:3377
Jan 26 08:05:49.160 CRIT Beacon block processing error, error: MissingBeaconBlock(0x831d25d70b5bdfe7544c0cac196cb781fcea3e9c7c5d6e902ad82059d27fc8ed), service: beacon, module: beacon_chain::beacon_chain:3377
Jan 26 08:12:17.256 WARN BlockProcessingFailure, outcome: MissingBeaconBlock(0x831d25d70b5bdfe7544c0cac196cb781fcea3e9c7c5d6e902ad82059d27fc8ed), msg: unexpected condition in processing block., module: network::network_beacon_processor::sync_methods:747

The beacon node wouldn't be able to start upon a restart:

Jan 27 05:57:58.731 CRIT Failed to start beacon node, reason: Failed to build beacon chain: Head block not found in store, module: lighthouse:721

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:

Jan 26 08:02:47.632 DEBG Created block lookup, id: 1753067, awaiting_parent: none, block_root: 0x523bff6d855c77b4f14ed5d7639a3f4975cef5115e0f0631f2f730665229fbc6, peer_ids: [PeerId("16Uiu2HAm4qmfW7E7E9rkvNVAWeZNWMhZ4VefKJHhjtFDUKaJAGAb"), PeerId("16Uiu2HAkvWFRpCLuiRyxvse9JzXP5HjgTMJfwPcHUCCa5NGwaike"),  PeerId("16Uiu2HAm9pjmagyJFvMkn3bVDPWTVwgyLJ3QdsejndLJnRhz2wfZ")], service: lookup_sync, service: sync, module: network::sync::block_lookups:401
Jan 26 08:02:47.632 DEBG Dropping completed lookup, id: 1753067, block: 0x523bff6d855c77b4f14ed5d7639a3f4975cef5115e0f0631f2f730665229fbc6, service: lookup_sync, service: sync, module: network::sync::block_lookups:781
Jan 26 08:02:47.632 DEBG Continuing child lookup, block_root: 0xf8eb5af88a4ea962e91a6fa77c69e1efa17005c346e7921d4218d0e84ff5a149, id: 113701, parent_root: 0x523bff6d855c77b4f14ed5d7639a3f4975cef5115e0f0631f2f730665229fbc6, service: lookup_sync, service: sync, module: network::sync::block_lookups:733
Jan 26 08:02:47.632 DEBG Sending blobs for processing, id: 113701, block: 0xf8eb5af88a4ea962e91a6fa77c69e1efa17005c346e7921d4218d0e84ff5a149, service: sync, module: network::sync::network_context:1086
Jan 26 08:02:47.632 DEBG RPC blobs received, commitments: [0xb8b1…3151, 0xb0a9…8f7d, 0xb29d…876a], slot: 3497985, block_root: 0xf8eb5af88a4ea962e91a6fa77c69e1efa17005c346e7921d4218d0e84ff5a149, indices: [0, 1, 2], module: network::network_beacon_processor::sync_methods:267
Jan 26 08:02:47.632 WARN Error when importing rpc blobs, slot: 3497985, block_hash: 0xf8eb5af88a4ea962e91a6fa77c69e1efa17005c346e7921d4218d0e84ff5a149, error: ParentUnknown { parent_root: 0x523bff6d855c77b4f14ed5d7639a3f4975cef5115e0f0631f2f730665229fbc6 }, module: network::network_beacon_processor::sync_methods:318
Jan 26 08:02:47.632 DEBG Received lookup processing result, result: Err(ParentUnknown { parent_root: 0x523bff6d855c77b4f14ed5d7639a3f4975cef5115e0f0631f2f730665229fbc6 }), id: 113701, block_root: 0xf8eb5af88a4ea962e91a6fa77c69e1efa17005c346e7921d4218d0e84ff5a149, component: Blob, service: lookup_sync, service: sync, module: network::sync::block_lookups:552
Jan 26 08:02:47.632 DEBG Marking lookup as awaiting parent, parent_root: 0x523bff6d855c77b4f14ed5d7639a3f4975cef5115e0f0631f2f730665229fbc6, block_root: 0xf8eb5af88a4ea962e91a6fa77c69e1efa17005c346e7921d4218d0e84ff5a149, id: 113701,

(The first line of the above log is truncated)

  1. On another try of syncing an archive node:
Jan 22 01:27:34.393 ERRO Database write failed, action: reverting blob DB changes, error: MissingHotStateSummary(0x21262323cc023403605249a57849c267debad4612d7c340523fab29ded71bdb5), service: freezer_db, module: store::hot_cold_store:1390
Jan 22 01:27:34.393 ERRO Database write failed!, error: MissingHotStateSummary(0x21262323cc023403605249a57849c267debad4612d7c340523fab29ded71bdb5), msg: Restoring fork choice from disk, service: beacon, module: beacon_chain::beacon_chain:3957
Jan 22 01:28:51.854 WARN Hot DB pruning failed, error: PruningError(MissingSummaryForFinalizedCheckpoint(0xd395c3f4e6d3eafd733a5554b3191e20f670c444916d868d68157aa07f0887fb)), service: beacon, module: beacon_chain::migrate:381

The beacon node wouldn't be able to start upon a restart:

Jan 22 03:55:27.130 INFO Blob DB initialized                     oldest_data_column_slot: None, oldest_blob_slot: Some(Slot(3336224)), path: "/var/lib/lighthouse_test1/beacon/blobs_db", service: freezer_db
Jan 22 03:55:28.186 CRIT Failed to start beacon node             reason: Unable to open database: HotColdDBError(MissingSplitState(0x855420d7ff98dca1dbe028ef624b18a81a027ab0cb1f95e4c048ad9b3c4510c4, Slot(3467232)))
Jan 22 03:55:28.186 INFO Internal shutdown received              reason: Failed to start beacon node
  1. I have not successfully reconstructed all states (i.e., finished syncing an archived node) on this branch (due to the above errors). It is either stuck during historical blocks download or during state reconstruction. A similar error to no. 2 occurs regularly (during state reconstruction):
Jan 28 07:44:58.442 ERRO Database write failed                   action: reverting blob DB changes, error: Hdiff(LessThanStart(Slot(3504672), Slot(3504704))), service: freezer_db
Jan 28 07:44:58.443 WARN Hot DB pruning failed                   error: DBError(HotColdDBError(Rollback)), service: beacon

(slot 3504704 is the anchor slot from the database info)

  1. Upgrading from v6.0.1:
    Checkpoint sync using v6.0.1, stop Lighthouse once it has checkpoint synced, then change the binary file to this PR branch. Sometimes it can upgrade smoothly, but sometimes it has error:
Jan 28 08:49:27.224 INFO Blob DB initialized                     oldest_data_column_slot: None, oldest_blob_slot: Some(Slot(3497888)), path: "/home/ck/.lighthouse/holesky/beacon/blobs_db", service: freezer_db
Jan 28 08:49:27.556 CRIT Failed to start beacon node             reason: Unable to open database: MigrationError("Migrating from SchemaVersion(22) to SchemaVersion(23): MigrationError(\"error computing states summaries dag MissingStateSummary(0x9d6efd378136fd8a08574b9a7f11b3f04ff5c5a4c15c0eaa64eac0c82f2aadee)\")")
Jan 28 08:49:27.557 INFO Internal shutdown received              reason: Failed to start beacon node

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:

Jan 28 08:54:08.619 INFO Blob DB initialized                     oldest_data_column_slot: None, oldest_blob_slot: Some(Slot(3497504)), path: "/home/ck/.lighthouse/holesky/beacon/blobs_db", service: freezer_db
Jan 28 08:54:14.692 INFO Hot states migration in progress        summaries_written: 33, diff_written: 2
Jan 28 08:54:17.910 INFO Hot states migration complete           summaries_written: 99, diff_written: 3
Jan 28 08:54:20.345 INFO Refusing to checkpoint sync             msg: database already exists, use --purge-db to force checkpoint sync, service: beacon

However, I notice the anchor_slot is changed after upgrading to V23 (e.g., advancing by 1 epoch). Is this expected?

@dapplion dapplion added the backwards-incompat Backwards-incompatible API change label Feb 3, 2025
Copy link

mergify bot commented Feb 3, 2025

This PR is amazing @dapplion, therefore you don't have to fix the conflicts yet. Please take your time and enjoy the day 💮 ❤️

michaelsproul added a commit that referenced this pull request Jun 16, 2025
Squashed commit of the following:

commit 629fa73
Author: Michael Sproul <[email protected]>
Date:   Sat Jun 14 12:58:45 2025 +1000

    Tweak hdiff size metric buckets

commit 9c8e58c
Author: Michael Sproul <[email protected]>
Date:   Fri Jun 13 17:16:27 2025 +1000

    Metric for hdiff sizes

commit 707557a
Author: Michael Sproul <[email protected]>
Date:   Wed Jun 11 15:36:18 2025 +1000

    Clean up hdiff timing metrics

commit 22f7f73
Merge: 9e77f82 8c6abc0
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Mon Jun 2 17:31:17 2025 +1000

    Remove FIXMEs/mess

commit 4913987
Merge: 80a5353 ae30480
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Thu May 29 17:28:49 2025 +1000

    Remove some stale FIXMEs/typos

commit bb23f2a
Author: Michael Sproul <[email protected]>
Date:   Thu May 29 16:30:35 2025 +1000

    Add a new test and fix split loading

commit 6094e23
Author: Michael Sproul <[email protected]>
Date:   Thu May 29 15:50:45 2025 +1000

    Clean up test assert

commit 06c2632
Author: Michael Sproul <[email protected]>
Date:   Thu May 29 15:33:46 2025 +1000

    Typo fix

commit 064115c
Author: Michael Sproul <[email protected]>
Date:   Thu May 29 13:49:25 2025 +1000

    Fix DB manager downgrade

commit 03fece6
Author: Michael Sproul <[email protected]>
Date:   Thu May 29 12:35:37 2025 +1000

    Skip migrating pre-split states in downgrade

commit f0823fe
Merge: bc47fd6 0ddf9a9
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Wed May 28 16:50:24 2025 +1000

    Avoid putting pre-split states in the state cache

commit 5fb55be
Author: Michael Sproul <[email protected]>
Date:   Wed May 28 15:38:50 2025 +1000

    Fix migration of dense diffs

commit 9acb1cf
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Wed May 28 10:56:45 2025 +1000

    Rework store config and compatibility checks

commit 8ebe1b2
Author: Michael Sproul <[email protected]>
Date:   Tue May 27 17:02:49 2025 +1000

    Add test for get_ancestor_state_root

commit b0191db
Author: Michael Sproul <[email protected]>
Date:   Mon May 26 17:50:34 2025 +1000

    Fix split slot migration

commit 9800ab8
Author: Michael Sproul <[email protected]>
Date:   Mon May 26 16:34:05 2025 +1000

    Attempt to fix archive node V24 upgrade

commit 2485beb
Author: Michael Sproul <[email protected]>
Date:   Thu May 22 17:03:06 2025 +1000

    Add logging for downgrade

commit d045796
Author: Michael Sproul <[email protected]>
Date:   Thu May 22 11:10:46 2025 +1000

    Align hot grid to freezer when migrating archive nodes

commit 444c1cd
Author: Michael Sproul <[email protected]>
Date:   Wed May 21 15:23:11 2025 +1000

    Add a test for states retained for hot diffs

commit 5d8ddb6
Author: Michael Sproul <[email protected]>
Date:   Wed May 21 12:22:00 2025 +1000

    Delete temporary states on migration

commit a4f442c
Author: Michael Sproul <[email protected]>
Date:   Tue May 20 17:47:53 2025 +1000

    Clean up some more TODOs

commit c39daf2
Author: Michael Sproul <[email protected]>
Date:   Tue May 20 17:41:31 2025 +1000

    Correct V23 -> V24 in load_split comment

commit c12dd1c
Author: Michael Sproul <[email protected]>
Date:   Tue May 20 16:05:57 2025 +1000

    Split hdiff metrics by hot/cold

commit 1096565
Author: Michael Sproul <[email protected]>
Date:   Mon May 19 17:27:04 2025 +1000

    Move legacy state storage code into migration file

commit 6887ad7
Author: Michael Sproul <[email protected]>
Date:   Mon May 19 17:14:00 2025 +1000

    Tweak comments in v24 migration

commit b73cb1e
Author: Michael Sproul <[email protected]>
Date:   Mon May 19 17:03:24 2025 +1000

    Finish PruningCheckpoint thing

commit b681648
Merge: f83b083 23ad833
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Mon May 19 16:27:03 2025 +1000

    WIP remove pruning checkpoint

commit 00ef82a
Author: Michael Sproul <[email protected]>
Date:   Mon May 19 12:43:10 2025 +1000

    Update comment/remove TODO

commit c74913f
Merge: 7d8343f 851ee2b
Author: Michael Sproul <[email protected]>
Date:   Thu May 15 11:02:40 2025 +1000

    Merge branch 'unstable' into tree-states-hot-rebase

commit 7d8343f
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Thu May 8 14:43:34 2025 +1000

    Prevent split from changing during ancestor calc

commit 8fa3665
Author: Michael Sproul <[email protected]>
Date:   Thu May 1 13:20:44 2025 +1000

    Remove non-contiguous DAG checks

commit 54ded28
Author: Michael Sproul <[email protected]>
Date:   Wed Apr 30 09:48:10 2025 +1000

    Use 0u8 inside DiffBaseState::Snapshot

commit 1184d72
Author: Michael Sproul <[email protected]>
Date:   Tue Apr 29 19:20:53 2025 +1000

    More type-safe diff base state

commit 088cfa0
Author: Michael Sproul <[email protected]>
Date:   Tue Apr 29 18:32:21 2025 +1000

    Simplify migration logic

commit fcbec47
Merge: 00fbd82 476f3a5
Author: Michael Sproul <[email protected]>
Date:   Tue Apr 15 11:05:18 2025 +1000

    Merge branch 'unstable' into tree-states-hot-rebase

commit 00fbd82
Author: hopinheimer <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date:   Thu Apr 10 13:14:58 2025 +1000

    Fix anchor archives

commit 8657b08
Author: Michael Sproul <[email protected]>
Date:   Thu Apr 10 12:46:21 2025 +1000

    Add note about multiple DAG roots

commit 74ebf8b
Author: Michael Sproul <[email protected]>
Date:   Mon Apr 7 17:04:36 2025 +1000

    Fix clippy and tests

commit fcc96a1
Merge: 9151436 70850fe
Author: Michael Sproul <[email protected]>
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 <[email protected]>
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 <[email protected]>

commit b49272f
Merge: 1c81c93 a322463
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Tue Mar 18 15:53:20 2025 +1100

    Fix compilation

commit f4dd6fe
Author: dapplion <[email protected]>
Date:   Mon Mar 17 14:56:15 2025 -0300

    Clean up temporary flags on migration

commit 1c81c93
Merge: 5b8680a 11cfa1c
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Thu Mar 13 15:47:58 2025 +1100

    Purge temporary states more, fixing bug

commit 5b8680a
Merge: 9f36dc8 b43c071
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Fri Mar 7 04:34:01 2025 -0300

    Don't include massive lists in errors

commit a1b45e6
Author: dapplion <[email protected]>
Date:   Fri Mar 7 04:33:25 2025 -0300

    Persist states even if in cache

commit b43c071
Merge: a613662 d60c24e
Author: Michael Sproul <[email protected]>
Date:   Thu Mar 13 11:31:48 2025 +1100

    Merge remote-tracking branch 'origin/unstable' into drop-headtracker

commit a928d30
Author: Michael Sproul <[email protected]>
Date:   Tue Mar 11 16:49:37 2025 +1100

    Fix merge snafu

commit 3f23942
Merge: 4e74ed1 a613662
Author: Michael Sproul <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date:   Mon Mar 10 18:08:37 2025 +1100

    Merge remote-tracking branch 'origin/unstable' into drop-headtracker

commit 4e74ed1
Author: dapplion <[email protected]>
Date:   Fri Mar 7 02:12:12 2025 -0300

    Fix wrapping sub

commit ceb59e3
Author: dapplion <[email protected]>
Date:   Fri Mar 7 01:32:51 2025 -0300

    Don't log extra diffs as roots

commit f020adb
Author: dapplion <[email protected]>
Date:   Fri Mar 7 01:05:33 2025 -0300

    Store latest_block_slot in state summary

commit ecb647f
Author: dapplion <[email protected]>
Date:   Fri Mar 7 00:04:41 2025 -0300

    Fix column prefix bug

commit 36ab17c
Author: dapplion <[email protected]>
Date:   Thu Mar 6 23:35:44 2025 -0300

    Better traceability for hdiff errors

commit 33615ea
Author: dapplion <[email protected]>
Date:   Thu Mar 6 18:51:47 2025 -0300

    Document migration better

commit e6fb686
Author: dapplion <[email protected]>
Date:   Thu Mar 6 01:29:17 2025 -0300

    Send it boy

commit d58d8ef
Author: dapplion <[email protected]>
Date:   Thu Mar 6 14:52:27 2025 -0300

    Update tests

commit f8dbda4
Author: dapplion <[email protected]>
Date:   Wed Mar 5 23:51:41 2025 -0300

    Add more details to errors

commit 8931141
Author: Michael Sproul <[email protected]>
Date:   Thu Mar 6 12:16:45 2025 +1100

    Abolish temporary states concept

commit abb3c3f
Author: Michael Sproul <[email protected]>
Date:   Thu Feb 20 17:14:56 2025 +1100

    Prevent deletion of payloads >= split slot

commit 5cc266c
Author: Michael Sproul <[email protected]>
Date:   Thu Feb 20 13:27:40 2025 +1100

    Clean up DB migrations

commit 7abbaeb
Author: Michael Sproul <[email protected]>
Date:   Thu Feb 20 11:49:35 2025 +1100

    Use descent from finality instead of viability

commit 54010b0
Author: Lion - dapplion <[email protected]>
Date:   Wed Feb 19 02:49:19 2025 -0300

    Update consensus/proto_array/src/proto_array.rs

    Co-authored-by: Michael Sproul <[email protected]>

commit cf3b776
Author: Michael Sproul <[email protected]>
Date:   Tue Feb 18 14:59:03 2025 +1100

    Correct assert in `revert_minority_fork_on_resume`

commit 37be9ae
Author: Michael Sproul <[email protected]>
Date:   Fri Feb 14 16:51:42 2025 +1100

    Tweaks in `prune_hot_db`.

commit f6786eb
Author: Michael Sproul <[email protected]>
Date:   Fri Feb 14 15:46:41 2025 +1100

    Tidy and document `migrate_database`.

commit 1dc6d5e
Merge: 7033656 6ab6eae
Author: Michael Sproul <[email protected]>
Date:   Fri Feb 14 15:16:34 2025 +1100

    Merge remote-tracking branch 'origin/unstable' into drop-headtracker

commit 7033656
Author: Michael Sproul <[email protected]>
Date:   Fri Feb 14 15:16:13 2025 +1100

    Fix compilation and remove error from `heads`

commit b9d8ae7
Author: dapplion <[email protected]>
Date:   Tue Feb 4 16:15:05 2025 -0300

    Fix nodes_without_children

commit ed97b97
Author: dapplion <[email protected]>
Date:   Tue Feb 4 15:51:48 2025 -0300

    Use slot clock in heads

commit 12fa5a8
Author: Michael Sproul <[email protected]>
Date:   Tue Feb 4 10:58:06 2025 +1100

    Remove some persisted head stuff

commit 91eab38
Author: dapplion <[email protected]>
Date:   Mon Feb 3 20:50:39 2025 -0300

    Deprecate block DAG for pruning

commit e56299c
Author: dapplion <[email protected]>
Date:   Mon Feb 3 19:50:02 2025 -0300

    Annotate SummariesDagError error

commit 979e43a
Author: Michael Sproul <[email protected]>
Date:   Tue Feb 4 09:23:58 2025 +1100

    Tweak logs

commit 663dfd3
Author: dapplion <[email protected]>
Date:   Mon Feb 3 18:00:37 2025 -0300

    Update tests

commit 066f96a
Author: dapplion <[email protected]>
Date:   Mon Feb 3 17:46:36 2025 -0300

    Prevent very long log line

commit c5b4293
Author: dapplion <[email protected]>
Date:   Mon Feb 3 17:39:22 2025 -0300

    Prune descendants of finalized checkpoint not finalized block

commit 28d7b74
Author: dapplion <[email protected]>
Date:   Mon Feb 3 16:38:51 2025 -0300

    Add states descendants_of

commit 10bbb2e
Author: dapplion <[email protected]>
Date:   Mon Feb 3 16:17:52 2025 -0300

    Log about multiple roots in dag tree

commit 8c9a1b2
Author: dapplion <[email protected]>
Date:   Mon Jan 20 18:41:51 2025 +0700

    Implement db schema upgrade and downgrade

commit 8c15bab
Author: dapplion <[email protected]>
Date:   Fri Jan 10 15:14:35 2025 +0800

    Improve state summary dag compute logic

commit be105d1
Author: dapplion <[email protected]>
Date:   Sat Dec 28 21:33:09 2024 +0800

    Drop head tracker for summaries dag
michaelsproul added a commit that referenced this pull request Jun 16, 2025
Squashed commit of the following:

commit 629fa73
Author: Michael Sproul <[email protected]>
Date:   Sat Jun 14 12:58:45 2025 +1000

    Tweak hdiff size metric buckets

commit 9c8e58c
Author: Michael Sproul <[email protected]>
Date:   Fri Jun 13 17:16:27 2025 +1000

    Metric for hdiff sizes

commit 707557a
Author: Michael Sproul <[email protected]>
Date:   Wed Jun 11 15:36:18 2025 +1000

    Clean up hdiff timing metrics

commit 22f7f73
Merge: 9e77f82 8c6abc0
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Mon Jun 2 17:31:17 2025 +1000

    Remove FIXMEs/mess

commit 4913987
Merge: 80a5353 ae30480
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Thu May 29 17:28:49 2025 +1000

    Remove some stale FIXMEs/typos

commit bb23f2a
Author: Michael Sproul <[email protected]>
Date:   Thu May 29 16:30:35 2025 +1000

    Add a new test and fix split loading

commit 6094e23
Author: Michael Sproul <[email protected]>
Date:   Thu May 29 15:50:45 2025 +1000

    Clean up test assert

commit 06c2632
Author: Michael Sproul <[email protected]>
Date:   Thu May 29 15:33:46 2025 +1000

    Typo fix

commit 064115c
Author: Michael Sproul <[email protected]>
Date:   Thu May 29 13:49:25 2025 +1000

    Fix DB manager downgrade

commit 03fece6
Author: Michael Sproul <[email protected]>
Date:   Thu May 29 12:35:37 2025 +1000

    Skip migrating pre-split states in downgrade

commit f0823fe
Merge: bc47fd6 0ddf9a9
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Wed May 28 16:50:24 2025 +1000

    Avoid putting pre-split states in the state cache

commit 5fb55be
Author: Michael Sproul <[email protected]>
Date:   Wed May 28 15:38:50 2025 +1000

    Fix migration of dense diffs

commit 9acb1cf
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Wed May 28 10:56:45 2025 +1000

    Rework store config and compatibility checks

commit 8ebe1b2
Author: Michael Sproul <[email protected]>
Date:   Tue May 27 17:02:49 2025 +1000

    Add test for get_ancestor_state_root

commit b0191db
Author: Michael Sproul <[email protected]>
Date:   Mon May 26 17:50:34 2025 +1000

    Fix split slot migration

commit 9800ab8
Author: Michael Sproul <[email protected]>
Date:   Mon May 26 16:34:05 2025 +1000

    Attempt to fix archive node V24 upgrade

commit 2485beb
Author: Michael Sproul <[email protected]>
Date:   Thu May 22 17:03:06 2025 +1000

    Add logging for downgrade

commit d045796
Author: Michael Sproul <[email protected]>
Date:   Thu May 22 11:10:46 2025 +1000

    Align hot grid to freezer when migrating archive nodes

commit 444c1cd
Author: Michael Sproul <[email protected]>
Date:   Wed May 21 15:23:11 2025 +1000

    Add a test for states retained for hot diffs

commit 5d8ddb6
Author: Michael Sproul <[email protected]>
Date:   Wed May 21 12:22:00 2025 +1000

    Delete temporary states on migration

commit a4f442c
Author: Michael Sproul <[email protected]>
Date:   Tue May 20 17:47:53 2025 +1000

    Clean up some more TODOs

commit c39daf2
Author: Michael Sproul <[email protected]>
Date:   Tue May 20 17:41:31 2025 +1000

    Correct V23 -> V24 in load_split comment

commit c12dd1c
Author: Michael Sproul <[email protected]>
Date:   Tue May 20 16:05:57 2025 +1000

    Split hdiff metrics by hot/cold

commit 1096565
Author: Michael Sproul <[email protected]>
Date:   Mon May 19 17:27:04 2025 +1000

    Move legacy state storage code into migration file

commit 6887ad7
Author: Michael Sproul <[email protected]>
Date:   Mon May 19 17:14:00 2025 +1000

    Tweak comments in v24 migration

commit b73cb1e
Author: Michael Sproul <[email protected]>
Date:   Mon May 19 17:03:24 2025 +1000

    Finish PruningCheckpoint thing

commit b681648
Merge: f83b083 23ad833
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Mon May 19 16:27:03 2025 +1000

    WIP remove pruning checkpoint

commit 00ef82a
Author: Michael Sproul <[email protected]>
Date:   Mon May 19 12:43:10 2025 +1000

    Update comment/remove TODO

commit c74913f
Merge: 7d8343f 851ee2b
Author: Michael Sproul <[email protected]>
Date:   Thu May 15 11:02:40 2025 +1000

    Merge branch 'unstable' into tree-states-hot-rebase

commit 7d8343f
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Thu May 8 14:43:34 2025 +1000

    Prevent split from changing during ancestor calc

commit 8fa3665
Author: Michael Sproul <[email protected]>
Date:   Thu May 1 13:20:44 2025 +1000

    Remove non-contiguous DAG checks

commit 54ded28
Author: Michael Sproul <[email protected]>
Date:   Wed Apr 30 09:48:10 2025 +1000

    Use 0u8 inside DiffBaseState::Snapshot

commit 1184d72
Author: Michael Sproul <[email protected]>
Date:   Tue Apr 29 19:20:53 2025 +1000

    More type-safe diff base state

commit 088cfa0
Author: Michael Sproul <[email protected]>
Date:   Tue Apr 29 18:32:21 2025 +1000

    Simplify migration logic

commit fcbec47
Merge: 00fbd82 476f3a5
Author: Michael Sproul <[email protected]>
Date:   Tue Apr 15 11:05:18 2025 +1000

    Merge branch 'unstable' into tree-states-hot-rebase

commit 00fbd82
Author: hopinheimer <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date:   Thu Apr 10 13:14:58 2025 +1000

    Fix anchor archives

commit 8657b08
Author: Michael Sproul <[email protected]>
Date:   Thu Apr 10 12:46:21 2025 +1000

    Add note about multiple DAG roots

commit 74ebf8b
Author: Michael Sproul <[email protected]>
Date:   Mon Apr 7 17:04:36 2025 +1000

    Fix clippy and tests

commit fcc96a1
Merge: 9151436 70850fe
Author: Michael Sproul <[email protected]>
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 <[email protected]>
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 <[email protected]>

commit b49272f
Merge: 1c81c93 a322463
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Tue Mar 18 15:53:20 2025 +1100

    Fix compilation

commit f4dd6fe
Author: dapplion <[email protected]>
Date:   Mon Mar 17 14:56:15 2025 -0300

    Clean up temporary flags on migration

commit 1c81c93
Merge: 5b8680a 11cfa1c
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Thu Mar 13 15:47:58 2025 +1100

    Purge temporary states more, fixing bug

commit 5b8680a
Merge: 9f36dc8 b43c071
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Fri Mar 7 04:34:01 2025 -0300

    Don't include massive lists in errors

commit a1b45e6
Author: dapplion <[email protected]>
Date:   Fri Mar 7 04:33:25 2025 -0300

    Persist states even if in cache

commit b43c071
Merge: a613662 d60c24e
Author: Michael Sproul <[email protected]>
Date:   Thu Mar 13 11:31:48 2025 +1100

    Merge remote-tracking branch 'origin/unstable' into drop-headtracker

commit a928d30
Author: Michael Sproul <[email protected]>
Date:   Tue Mar 11 16:49:37 2025 +1100

    Fix merge snafu

commit 3f23942
Merge: 4e74ed1 a613662
Author: Michael Sproul <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date:   Mon Mar 10 18:08:37 2025 +1100

    Merge remote-tracking branch 'origin/unstable' into drop-headtracker

commit 4e74ed1
Author: dapplion <[email protected]>
Date:   Fri Mar 7 02:12:12 2025 -0300

    Fix wrapping sub

commit ceb59e3
Author: dapplion <[email protected]>
Date:   Fri Mar 7 01:32:51 2025 -0300

    Don't log extra diffs as roots

commit f020adb
Author: dapplion <[email protected]>
Date:   Fri Mar 7 01:05:33 2025 -0300

    Store latest_block_slot in state summary

commit ecb647f
Author: dapplion <[email protected]>
Date:   Fri Mar 7 00:04:41 2025 -0300

    Fix column prefix bug

commit 36ab17c
Author: dapplion <[email protected]>
Date:   Thu Mar 6 23:35:44 2025 -0300

    Better traceability for hdiff errors

commit 33615ea
Author: dapplion <[email protected]>
Date:   Thu Mar 6 18:51:47 2025 -0300

    Document migration better

commit e6fb686
Author: dapplion <[email protected]>
Date:   Thu Mar 6 01:29:17 2025 -0300

    Send it boy

commit d58d8ef
Author: dapplion <[email protected]>
Date:   Thu Mar 6 14:52:27 2025 -0300

    Update tests

commit f8dbda4
Author: dapplion <[email protected]>
Date:   Wed Mar 5 23:51:41 2025 -0300

    Add more details to errors

commit 8931141
Author: Michael Sproul <[email protected]>
Date:   Thu Mar 6 12:16:45 2025 +1100

    Abolish temporary states concept

commit abb3c3f
Author: Michael Sproul <[email protected]>
Date:   Thu Feb 20 17:14:56 2025 +1100

    Prevent deletion of payloads >= split slot

commit 5cc266c
Author: Michael Sproul <[email protected]>
Date:   Thu Feb 20 13:27:40 2025 +1100

    Clean up DB migrations

commit 7abbaeb
Author: Michael Sproul <[email protected]>
Date:   Thu Feb 20 11:49:35 2025 +1100

    Use descent from finality instead of viability

commit 54010b0
Author: Lion - dapplion <[email protected]>
Date:   Wed Feb 19 02:49:19 2025 -0300

    Update consensus/proto_array/src/proto_array.rs

    Co-authored-by: Michael Sproul <[email protected]>

commit cf3b776
Author: Michael Sproul <[email protected]>
Date:   Tue Feb 18 14:59:03 2025 +1100

    Correct assert in `revert_minority_fork_on_resume`

commit 37be9ae
Author: Michael Sproul <[email protected]>
Date:   Fri Feb 14 16:51:42 2025 +1100

    Tweaks in `prune_hot_db`.

commit f6786eb
Author: Michael Sproul <[email protected]>
Date:   Fri Feb 14 15:46:41 2025 +1100

    Tidy and document `migrate_database`.

commit 1dc6d5e
Merge: 7033656 6ab6eae
Author: Michael Sproul <[email protected]>
Date:   Fri Feb 14 15:16:34 2025 +1100

    Merge remote-tracking branch 'origin/unstable' into drop-headtracker

commit 7033656
Author: Michael Sproul <[email protected]>
Date:   Fri Feb 14 15:16:13 2025 +1100

    Fix compilation and remove error from `heads`

commit b9d8ae7
Author: dapplion <[email protected]>
Date:   Tue Feb 4 16:15:05 2025 -0300

    Fix nodes_without_children

commit ed97b97
Author: dapplion <[email protected]>
Date:   Tue Feb 4 15:51:48 2025 -0300

    Use slot clock in heads

commit 12fa5a8
Author: Michael Sproul <[email protected]>
Date:   Tue Feb 4 10:58:06 2025 +1100

    Remove some persisted head stuff

commit 91eab38
Author: dapplion <[email protected]>
Date:   Mon Feb 3 20:50:39 2025 -0300

    Deprecate block DAG for pruning

commit e56299c
Author: dapplion <[email protected]>
Date:   Mon Feb 3 19:50:02 2025 -0300

    Annotate SummariesDagError error

commit 979e43a
Author: Michael Sproul <[email protected]>
Date:   Tue Feb 4 09:23:58 2025 +1100

    Tweak logs

commit 663dfd3
Author: dapplion <[email protected]>
Date:   Mon Feb 3 18:00:37 2025 -0300

    Update tests

commit 066f96a
Author: dapplion <[email protected]>
Date:   Mon Feb 3 17:46:36 2025 -0300

    Prevent very long log line

commit c5b4293
Author: dapplion <[email protected]>
Date:   Mon Feb 3 17:39:22 2025 -0300

    Prune descendants of finalized checkpoint not finalized block

commit 28d7b74
Author: dapplion <[email protected]>
Date:   Mon Feb 3 16:38:51 2025 -0300

    Add states descendants_of

commit 10bbb2e
Author: dapplion <[email protected]>
Date:   Mon Feb 3 16:17:52 2025 -0300

    Log about multiple roots in dag tree

commit 8c9a1b2
Author: dapplion <[email protected]>
Date:   Mon Jan 20 18:41:51 2025 +0700

    Implement db schema upgrade and downgrade

commit 8c15bab
Author: dapplion <[email protected]>
Date:   Fri Jan 10 15:14:35 2025 +0800

    Improve state summary dag compute logic

commit be105d1
Author: dapplion <[email protected]>
Date:   Sat Dec 28 21:33:09 2024 +0800

    Drop head tracker for summaries dag
@michaelsproul michaelsproul mentioned this pull request Jun 16, 2025
eserilev pushed a commit to eserilev/lighthouse that referenced this pull request Jun 17, 2025
Squashed commit of the following:

commit 629fa73
Author: Michael Sproul <[email protected]>
Date:   Sat Jun 14 12:58:45 2025 +1000

    Tweak hdiff size metric buckets

commit 9c8e58c
Author: Michael Sproul <[email protected]>
Date:   Fri Jun 13 17:16:27 2025 +1000

    Metric for hdiff sizes

commit 707557a
Author: Michael Sproul <[email protected]>
Date:   Wed Jun 11 15:36:18 2025 +1000

    Clean up hdiff timing metrics

commit 22f7f73
Merge: 9e77f82 8c6abc0
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Mon Jun 2 17:31:17 2025 +1000

    Remove FIXMEs/mess

commit 4913987
Merge: 80a5353 ae30480
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Thu May 29 17:28:49 2025 +1000

    Remove some stale FIXMEs/typos

commit bb23f2a
Author: Michael Sproul <[email protected]>
Date:   Thu May 29 16:30:35 2025 +1000

    Add a new test and fix split loading

commit 6094e23
Author: Michael Sproul <[email protected]>
Date:   Thu May 29 15:50:45 2025 +1000

    Clean up test assert

commit 06c2632
Author: Michael Sproul <[email protected]>
Date:   Thu May 29 15:33:46 2025 +1000

    Typo fix

commit 064115c
Author: Michael Sproul <[email protected]>
Date:   Thu May 29 13:49:25 2025 +1000

    Fix DB manager downgrade

commit 03fece6
Author: Michael Sproul <[email protected]>
Date:   Thu May 29 12:35:37 2025 +1000

    Skip migrating pre-split states in downgrade

commit f0823fe
Merge: bc47fd6 0ddf9a9
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Wed May 28 16:50:24 2025 +1000

    Avoid putting pre-split states in the state cache

commit 5fb55be
Author: Michael Sproul <[email protected]>
Date:   Wed May 28 15:38:50 2025 +1000

    Fix migration of dense diffs

commit 9acb1cf
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Wed May 28 10:56:45 2025 +1000

    Rework store config and compatibility checks

commit 8ebe1b2
Author: Michael Sproul <[email protected]>
Date:   Tue May 27 17:02:49 2025 +1000

    Add test for get_ancestor_state_root

commit b0191db
Author: Michael Sproul <[email protected]>
Date:   Mon May 26 17:50:34 2025 +1000

    Fix split slot migration

commit 9800ab8
Author: Michael Sproul <[email protected]>
Date:   Mon May 26 16:34:05 2025 +1000

    Attempt to fix archive node V24 upgrade

commit 2485beb
Author: Michael Sproul <[email protected]>
Date:   Thu May 22 17:03:06 2025 +1000

    Add logging for downgrade

commit d045796
Author: Michael Sproul <[email protected]>
Date:   Thu May 22 11:10:46 2025 +1000

    Align hot grid to freezer when migrating archive nodes

commit 444c1cd
Author: Michael Sproul <[email protected]>
Date:   Wed May 21 15:23:11 2025 +1000

    Add a test for states retained for hot diffs

commit 5d8ddb6
Author: Michael Sproul <[email protected]>
Date:   Wed May 21 12:22:00 2025 +1000

    Delete temporary states on migration

commit a4f442c
Author: Michael Sproul <[email protected]>
Date:   Tue May 20 17:47:53 2025 +1000

    Clean up some more TODOs

commit c39daf2
Author: Michael Sproul <[email protected]>
Date:   Tue May 20 17:41:31 2025 +1000

    Correct V23 -> V24 in load_split comment

commit c12dd1c
Author: Michael Sproul <[email protected]>
Date:   Tue May 20 16:05:57 2025 +1000

    Split hdiff metrics by hot/cold

commit 1096565
Author: Michael Sproul <[email protected]>
Date:   Mon May 19 17:27:04 2025 +1000

    Move legacy state storage code into migration file

commit 6887ad7
Author: Michael Sproul <[email protected]>
Date:   Mon May 19 17:14:00 2025 +1000

    Tweak comments in v24 migration

commit b73cb1e
Author: Michael Sproul <[email protected]>
Date:   Mon May 19 17:03:24 2025 +1000

    Finish PruningCheckpoint thing

commit b681648
Merge: f83b083 23ad833
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Mon May 19 16:27:03 2025 +1000

    WIP remove pruning checkpoint

commit 00ef82a
Author: Michael Sproul <[email protected]>
Date:   Mon May 19 12:43:10 2025 +1000

    Update comment/remove TODO

commit c74913f
Merge: 7d8343f 851ee2b
Author: Michael Sproul <[email protected]>
Date:   Thu May 15 11:02:40 2025 +1000

    Merge branch 'unstable' into tree-states-hot-rebase

commit 7d8343f
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Thu May 8 14:43:34 2025 +1000

    Prevent split from changing during ancestor calc

commit 8fa3665
Author: Michael Sproul <[email protected]>
Date:   Thu May 1 13:20:44 2025 +1000

    Remove non-contiguous DAG checks

commit 54ded28
Author: Michael Sproul <[email protected]>
Date:   Wed Apr 30 09:48:10 2025 +1000

    Use 0u8 inside DiffBaseState::Snapshot

commit 1184d72
Author: Michael Sproul <[email protected]>
Date:   Tue Apr 29 19:20:53 2025 +1000

    More type-safe diff base state

commit 088cfa0
Author: Michael Sproul <[email protected]>
Date:   Tue Apr 29 18:32:21 2025 +1000

    Simplify migration logic

commit fcbec47
Merge: 00fbd82 476f3a5
Author: Michael Sproul <[email protected]>
Date:   Tue Apr 15 11:05:18 2025 +1000

    Merge branch 'unstable' into tree-states-hot-rebase

commit 00fbd82
Author: hopinheimer <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date:   Thu Apr 10 13:14:58 2025 +1000

    Fix anchor archives

commit 8657b08
Author: Michael Sproul <[email protected]>
Date:   Thu Apr 10 12:46:21 2025 +1000

    Add note about multiple DAG roots

commit 74ebf8b
Author: Michael Sproul <[email protected]>
Date:   Mon Apr 7 17:04:36 2025 +1000

    Fix clippy and tests

commit fcc96a1
Merge: 9151436 70850fe
Author: Michael Sproul <[email protected]>
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 <[email protected]>
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 <[email protected]>

commit b49272f
Merge: 1c81c93 a322463
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Tue Mar 18 15:53:20 2025 +1100

    Fix compilation

commit f4dd6fe
Author: dapplion <[email protected]>
Date:   Mon Mar 17 14:56:15 2025 -0300

    Clean up temporary flags on migration

commit 1c81c93
Merge: 5b8680a 11cfa1c
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Thu Mar 13 15:47:58 2025 +1100

    Purge temporary states more, fixing bug

commit 5b8680a
Merge: 9f36dc8 b43c071
Author: Michael Sproul <[email protected]>
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 <[email protected]>
Date:   Fri Mar 7 04:34:01 2025 -0300

    Don't include massive lists in errors

commit a1b45e6
Author: dapplion <[email protected]>
Date:   Fri Mar 7 04:33:25 2025 -0300

    Persist states even if in cache

commit b43c071
Merge: a613662 d60c24e
Author: Michael Sproul <[email protected]>
Date:   Thu Mar 13 11:31:48 2025 +1100

    Merge remote-tracking branch 'origin/unstable' into drop-headtracker

commit a928d30
Author: Michael Sproul <[email protected]>
Date:   Tue Mar 11 16:49:37 2025 +1100

    Fix merge snafu

commit 3f23942
Merge: 4e74ed1 a613662
Author: Michael Sproul <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date:   Mon Mar 10 18:08:37 2025 +1100

    Merge remote-tracking branch 'origin/unstable' into drop-headtracker

commit 4e74ed1
Author: dapplion <[email protected]>
Date:   Fri Mar 7 02:12:12 2025 -0300

    Fix wrapping sub

commit ceb59e3
Author: dapplion <[email protected]>
Date:   Fri Mar 7 01:32:51 2025 -0300

    Don't log extra diffs as roots

commit f020adb
Author: dapplion <[email protected]>
Date:   Fri Mar 7 01:05:33 2025 -0300

    Store latest_block_slot in state summary

commit ecb647f
Author: dapplion <[email protected]>
Date:   Fri Mar 7 00:04:41 2025 -0300

    Fix column prefix bug

commit 36ab17c
Author: dapplion <[email protected]>
Date:   Thu Mar 6 23:35:44 2025 -0300

    Better traceability for hdiff errors

commit 33615ea
Author: dapplion <[email protected]>
Date:   Thu Mar 6 18:51:47 2025 -0300

    Document migration better

commit e6fb686
Author: dapplion <[email protected]>
Date:   Thu Mar 6 01:29:17 2025 -0300

    Send it boy

commit d58d8ef
Author: dapplion <[email protected]>
Date:   Thu Mar 6 14:52:27 2025 -0300

    Update tests

commit f8dbda4
Author: dapplion <[email protected]>
Date:   Wed Mar 5 23:51:41 2025 -0300

    Add more details to errors

commit 8931141
Author: Michael Sproul <[email protected]>
Date:   Thu Mar 6 12:16:45 2025 +1100

    Abolish temporary states concept

commit abb3c3f
Author: Michael Sproul <[email protected]>
Date:   Thu Feb 20 17:14:56 2025 +1100

    Prevent deletion of payloads >= split slot

commit 5cc266c
Author: Michael Sproul <[email protected]>
Date:   Thu Feb 20 13:27:40 2025 +1100

    Clean up DB migrations

commit 7abbaeb
Author: Michael Sproul <[email protected]>
Date:   Thu Feb 20 11:49:35 2025 +1100

    Use descent from finality instead of viability

commit 54010b0
Author: Lion - dapplion <[email protected]>
Date:   Wed Feb 19 02:49:19 2025 -0300

    Update consensus/proto_array/src/proto_array.rs

    Co-authored-by: Michael Sproul <[email protected]>

commit cf3b776
Author: Michael Sproul <[email protected]>
Date:   Tue Feb 18 14:59:03 2025 +1100

    Correct assert in `revert_minority_fork_on_resume`

commit 37be9ae
Author: Michael Sproul <[email protected]>
Date:   Fri Feb 14 16:51:42 2025 +1100

    Tweaks in `prune_hot_db`.

commit f6786eb
Author: Michael Sproul <[email protected]>
Date:   Fri Feb 14 15:46:41 2025 +1100

    Tidy and document `migrate_database`.

commit 1dc6d5e
Merge: 7033656 6ab6eae
Author: Michael Sproul <[email protected]>
Date:   Fri Feb 14 15:16:34 2025 +1100

    Merge remote-tracking branch 'origin/unstable' into drop-headtracker

commit 7033656
Author: Michael Sproul <[email protected]>
Date:   Fri Feb 14 15:16:13 2025 +1100

    Fix compilation and remove error from `heads`

commit b9d8ae7
Author: dapplion <[email protected]>
Date:   Tue Feb 4 16:15:05 2025 -0300

    Fix nodes_without_children

commit ed97b97
Author: dapplion <[email protected]>
Date:   Tue Feb 4 15:51:48 2025 -0300

    Use slot clock in heads

commit 12fa5a8
Author: Michael Sproul <[email protected]>
Date:   Tue Feb 4 10:58:06 2025 +1100

    Remove some persisted head stuff

commit 91eab38
Author: dapplion <[email protected]>
Date:   Mon Feb 3 20:50:39 2025 -0300

    Deprecate block DAG for pruning

commit e56299c
Author: dapplion <[email protected]>
Date:   Mon Feb 3 19:50:02 2025 -0300

    Annotate SummariesDagError error

commit 979e43a
Author: Michael Sproul <[email protected]>
Date:   Tue Feb 4 09:23:58 2025 +1100

    Tweak logs

commit 663dfd3
Author: dapplion <[email protected]>
Date:   Mon Feb 3 18:00:37 2025 -0300

    Update tests

commit 066f96a
Author: dapplion <[email protected]>
Date:   Mon Feb 3 17:46:36 2025 -0300

    Prevent very long log line

commit c5b4293
Author: dapplion <[email protected]>
Date:   Mon Feb 3 17:39:22 2025 -0300

    Prune descendants of finalized checkpoint not finalized block

commit 28d7b74
Author: dapplion <[email protected]>
Date:   Mon Feb 3 16:38:51 2025 -0300

    Add states descendants_of

commit 10bbb2e
Author: dapplion <[email protected]>
Date:   Mon Feb 3 16:17:52 2025 -0300

    Log about multiple roots in dag tree

commit 8c9a1b2
Author: dapplion <[email protected]>
Date:   Mon Jan 20 18:41:51 2025 +0700

    Implement db schema upgrade and downgrade

commit 8c15bab
Author: dapplion <[email protected]>
Date:   Fri Jan 10 15:14:35 2025 +0800

    Improve state summary dag compute logic

commit be105d1
Author: dapplion <[email protected]>
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
@michaelsproul
Copy link
Member

Let's merge 😁

@michaelsproul michaelsproul added ready-for-merge This PR is ready to merge. and removed waiting-on-author The reviewer has suggested changes and awaits thier implementation. labels Jun 19, 2025
mergify bot added a commit that referenced this pull request Jun 19, 2025
@mergify mergify bot merged commit dd98534 into unstable Jun 19, 2025
34 checks passed
@mergify mergify bot deleted the tree-states-hot-rebase branch June 19, 2025 02:43
mergify bot pushed a commit that referenced this pull request Jul 10, 2025
Post-Pectra release for tree-states hot 🎉

Already merged to `release-v7.1.0`:

- #7444
- #6750
- #7437
- #7133
- #7620
- #7663
@dapplion dapplion mentioned this pull request Jul 16, 2025
ethDreamer pushed a commit to ethDreamer/lighthouse that referenced this pull request Jul 28, 2025
Post-Pectra release for tree-states hot 🎉

Already merged to `release-v7.1.0`:

- sigp#7444
- sigp#6750
- sigp#7437
- sigp#7133
- sigp#7620
- sigp#7663
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backwards-incompat Backwards-incompatible API change ready-for-merge This PR is ready to merge. tree-states Ongoing state and database overhaul v7.1.0 Post-Electra release work-in-progress PR is a work-in-progress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants