-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Desktop, Mobile: Harden failsafe logic to check for the presence of info.json, rather than just the item count #11750
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
Changes from 4 commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
db6cf34
Harden failsafe logic to check for the presence of info.json, rather …
mrjo118 c24607d
Updated comments
mrjo118 9c57cb4
Add test coverage
mrjo118 e3a9aa1
Refactor code according to PR feedback
mrjo118 daed729
Simplify tests
mrjo118 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
@laurent22 raised the possibility of performance impacts.
Since this called once per
delta
, do you think that this could have a significant performance impact on slow sync targets? (Would it make sense to run this check only for certain sync targets)?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 don't think the performance impact should be significant because it only runs once per 50 items (I have also tested and confirmed that is the case). We already make a call to get the full file contents for each of the 50 items in each batch using a download queue, and then wait for the download to complete in order to perform delta logic, if the target does not support accurate timestamps. So I think 1 additional call per 50 is worth a small compromise for people with large collections and a slow target, in favour of increased safety
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.
Ok that makes sense, thank you for the detailed explanation. Thanks a lot for adding the automated tests too, that's very useful to validate this kind of special feature.