-
Notifications
You must be signed in to change notification settings - Fork 106
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
Syncs should eventually skip unavailable content and progress #1693
Conversation
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.
Looks great! Super straight forward to me
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.
One kind of structural comment, otherwise looks good
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.
This looks great! Some small NIT's but overall this looks exactly right.
Description
What is the purpose of this PR? What is the current behavior? New behavior? Relevant links (e.g. Trello) and/or information pertaining to PR?
Full details on Notion
Old behavior: if a secondary sync fails to retrieve any content (for any reason), it will immediately reject sync.
New behavior: a sync should eventually progress past unretrievable content and succeed.
Implementation:
skipped
Boolean column in Files tableskipped
in DB and succeed syncSkippedCIDRetryService
to retry all content in DB marked asskipped
to correct for transient unavailability. Will only process content created after specified date to prevent repeat processing of old, permanently unavailable content/users/clock_status/<wallet>
route for later consumptionOther details:
saveFileForMultihashToFSIPFSFallback
for sync to not check IPFS after gateway. defaulted totrue
for back-compatTests
List the manual tests and repro instructions to verify that this PR works as anticipated. Include log analysis if possible.
❗ If this change impacts clients, make sure that you have tested the clients ❗
/users/clock_status<wallet>
Manual:
saveFileForMultihashToFS()
) still works i.e. no regressionsaveFileForMultihashToFSIPFSFallback
to falsecreatedAt
threshold to be after that CID -> confirm CID is not fetched -> reset threshold❗ Reminder 💡❗:
If this PR touches a critical flow (such as Indexing, Uploads, Gateway or the Filesystem), make sure to add the
requires-special-attention
label. Add relevant labels as necessary.How will this change be monitored?
For features that are critical or could fail silently please describe the monitoring/alerting being added.
TODO specify logs here