-
Notifications
You must be signed in to change notification settings - Fork 34
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
feat(accountsdb,gossip): Initial snapshot propagation work #333
Commits on Nov 6, 2024
-
Refactor latest snapshot info state
1. Guard the full and incremental snapshot info under the same rwmux, both to deduplicate the full slot value, and to synchronize the existence of incremental snapshots relative to full snapshots. 2. Also do the same with the first snapshot info.
Configuration menu - View commit details
-
Copy full SHA for 03a957b - Browse repository at this point
Copy the full SHA 03a957bView commit details -
Configuration menu - View commit details
-
Copy full SHA for d5b79ec - Browse repository at this point
Copy the full SHA d5b79ecView commit details -
Configuration menu - View commit details
-
Copy full SHA for c150297 - Browse repository at this point
Copy the full SHA c150297View commit details -
Configuration menu - View commit details
-
Copy full SHA for 41f1702 - Browse repository at this point
Copy the full SHA 41f1702View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5b5ce21 - Browse repository at this point
Copy the full SHA 5b5ce21View commit details -
Big refactor on accountsdb fields and init & misc
* Grouped fields into a few categories. * Change init to take only an `InitParams` struct. * Lowercase `AllocatorConfig` fields. * Share the `AllocatorConfig` enum tag across a few different places. * Inline `InitConfig`'s fields and remove it. * Fix code that potentially leaked a disk allocator pointer.
Configuration menu - View commit details
-
Copy full SHA for c66d071 - Browse repository at this point
Copy the full SHA c66d071View commit details -
Configuration menu - View commit details
-
Copy full SHA for cec3b78 - Browse repository at this point
Copy the full SHA cec3b78View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b67d3c - Browse repository at this point
Copy the full SHA 4b67d3cView commit details -
Configuration menu - View commit details
-
Copy full SHA for c657dbc - Browse repository at this point
Copy the full SHA c657dbcView commit details -
Fix
writeSnapshotTarWithFields
It was incorrectly reporting `file_info.length` as the file size, when it should have been using `account_file.memory.len`. This also adds a couple more runtime checks to assert the total written bytes are aligned to full 512 byte blocks.
Configuration menu - View commit details
-
Copy full SHA for a1534d3 - Browse repository at this point
Copy the full SHA a1534d3View commit details -
Configuration menu - View commit details
-
Copy full SHA for e3c240a - Browse repository at this point
Copy the full SHA e3c240aView commit details -
Set up test for snapshot gossip advertisement
It's currently disabled because it overwrites the snapshot archives in the test data dir; can comment the skip statement in order to test it locally for now. As the TODO says, we need a mechanism for loading from a snapshot which isn't in the accountsdb's snapshot working directory. This also adds a simple way to test the equality of the `SnapshotHashes` structure in tests.
Configuration menu - View commit details
-
Copy full SHA for 4da9f72 - Browse repository at this point
Copy the full SHA 4da9f72View commit details -
Re-simplify SnapshotHashes incremental list
The potential memory savings were minimal at best, and came at a significant cost in complexity - a simple tagged union is sufficient to avoid the overhead of an allocation, whilst retaining simplicity across the rest of the code (especially wrt generic comparisons).
Configuration menu - View commit details
-
Copy full SHA for 0d780f1 - Browse repository at this point
Copy the full SHA 0d780f1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9affe24 - Browse repository at this point
Copy the full SHA 9affe24View commit details -
Use workaround in gossip snapshot update unit test
In the future there should be a better API for loading from a snapshot that's outside the accountsdb snapshot working directory.
Configuration menu - View commit details
-
Copy full SHA for 22446d5 - Browse repository at this point
Copy the full SHA 22446d5View commit details -
Configuration menu - View commit details
-
Copy full SHA for ec7d671 - Browse repository at this point
Copy the full SHA ec7d671View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1d69736 - Browse repository at this point
Copy the full SHA 1d69736View commit details -
Configuration menu - View commit details
-
Copy full SHA for b59b924 - Browse repository at this point
Copy the full SHA b59b924View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3b4c01b - Browse repository at this point
Copy the full SHA 3b4c01bView commit details -
Configuration menu - View commit details
-
Copy full SHA for ce20259 - Browse repository at this point
Copy the full SHA ce20259View commit details -
Gossip push queue & signing refactor
* Refactor `initSigned`, and related init methods, and call sites. * Move methods into more scoped types. * Flatten the `Gossip` struct into `AccountsDB`, and only store `my_pubkey`, instead of the whole key pair. * Change `push_msg_queue` to queue unsigned gossip data, and then sign it in `drainPushQueueToGossipTable`. * Set the wallclock time in `drainPushQueueToGossipTable` as well.
Configuration menu - View commit details
-
Copy full SHA for 0f19fbc - Browse repository at this point
Copy the full SHA 0f19fbcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3e633a8 - Browse repository at this point
Copy the full SHA 3e633a8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 01a3a28 - Browse repository at this point
Copy the full SHA 01a3a28View commit details -
Configuration menu - View commit details
-
Copy full SHA for d68d920 - Browse repository at this point
Copy the full SHA d68d920View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5de9f2b - Browse repository at this point
Copy the full SHA 5de9f2bView commit details