-
Notifications
You must be signed in to change notification settings - Fork 2
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
Update Version Checks #18
Conversation
This PR implements a required change for Trtl Anti-Entropy: Update checks if the version being updated is still later than the local version. I've also added a WithForce() option that bypasses checks if the user wants to force put an object to the database, overriding the namespace and version checks.
Codecov Report
@@ Coverage Diff @@
## main #18 +/- ##
==========================================
- Coverage 55.08% 55.00% -0.08%
==========================================
Files 10 10
Lines 492 509 +17
==========================================
+ Hits 271 280 +9
- Misses 178 184 +6
- Partials 43 45 +2
Continue to review full report at Codecov.
|
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.
I know we haven't gone through sc-2694 yet @bbengfort @pdeziel, but I think this makes sense to me. I gather that part of the replication bug we've been experiencing in trtl relates to the need for this subsequent check that object updates sent by the remote are still the latest from the perspective of the local replica? And it looks like you've added the force option so that we can still make manual repairs to an object, even if it means regressing its version?
Yes, this is related to the need to handle Based on your review of SC-2694, I think we should add one more thing to |
This pull request has been linked to Shortcut Story #2694: Refactor Phase 1/Phase 2 Anti-Entropy and Gossip. |
This PR implements a required change for Trtl Anti-Entropy: Update checks if the version being updated is still later than the local version. I've also added a
WithForce()
option that bypasses checks if the user wants to force put an object to the database, overriding the namespace and version checks.This is related to trisacrypto/directory#299
Note this is related to sc-2703 but is not a complete implementation; this PR only does enough to fix sc-2694.