-
Notifications
You must be signed in to change notification settings - Fork 112
[adb] [sync] Change sync lower bound to be inactivity floor, not pruning boundary #1277
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
Conversation
…ing of incosistent pruning boundaries
…est_sync_subset_of_target_database
…ning boundary in Current::commit
examples/sync/src/lib.rs
Outdated
| translator: Translator::default(), | ||
| thread_pool: None, | ||
| buffer_pool: commonware_runtime::buffer::PoolRef::new(1024, 10), | ||
| pruning_gap: 10, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like an OK value to use during tests? It's sufficiently small such that the "gap" will exist even if we only insert relatively few operations into the database.
Codecov ReportAttention: Patch coverage is
@@ Coverage Diff @@
## main #1277 +/- ##
==========================================
+ Coverage 91.09% 91.13% +0.03%
==========================================
Files 246 246
Lines 60496 60744 +248
==========================================
+ Hits 55110 55358 +248
Misses 5386 5386
Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
Previously, the lower bound supplied to the sync client was the pruning boundary of the target database.
This change makes it so the client instead receives the inactivity floor to use as the lower sync boundary.
The motivation for this change is that, during state sync, the client will request the operations in the sync target range from the server(s). If the client's sync lower bound is the server's pruning boundary, and the server continues to add operations and prune old operations, then it's likely the server will prune operations that the sync client needs to complete. Using the inactivity floor adds a buffer, making this situation less likely.