DSN sync refactoring and optimizations #1806
Merged
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.
As I was working on #1803 I noticed some inefficiencies and potential improvements.
Related to #1797 this PR persists retrieved segment headers in aux store, meaning they are potentially stored in large batches (efficient DB usage, lower write amplification, faster retrieval on restart) and avoids downloading those that were persisted (for whatever reason) in the past.
TODO about #1803 was added in the process or refactoring and is basically one step from being resolved (will happen in the next PR).
Overall this PR will ensure we make even fewer requests and download even less data from the network during DSN sync.
Code contributor checklist: