-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
[Feature Request] Shallow Copy Snapshot Enhancements #12023
Comments
Thanks for this @harishbhakuni. I want to add another point here - I see we create locks for a shard's segment metadata file even if there is no incremental indexing done since last snapshot. This adds more load to the remote store and I feel this should be optimised. I would like to get your opinion on this. I should be able to pick this up in coming days/weeks unless you think there is some limitation or major rehaul required to achieve this. |
@ashking94, the idea here was to create one lock per file per acquirerID. so that releasing locks would be clean and there would not be issues/race conditions where one acquirer releases locks for another acquirer. |
@harishbhakuni As this tries to solve/optimise on many tasks, can we create a meta issue out of it? |
sure @sachinpkale will do. |
@harishbhakuni Please create a META Issue out of this so that this can be tracked better. |
@sachinpkale /@shourya035 sorry missed this earlier. Created this META issue to further track this: #16492. |
Is your feature request related to a problem? Please describe
With full copy snapshots where we upload all the local segments data to snapshot repository, snapshot creation latency is dependent on the amount of data to be snapshotted.
With shallow copy snapshots where we are just keeping the reference of shard data stored in remote store, we have removed that dependency to some extent. but snapshot still triggers flush in cases of new ingested and uncommitted data.
Describe the solution you'd like
We can further enhance the shallow copy snapshots and make them more faster and light weight using following enhancements:
Snapshot at refresh level:
Global state shallow copy:
Pull based model for cluster state:
With these enhancements, shallow copy snapshots would mostly not have any dependency on amount of data to be snapshotted and size of cluster state. And we would be one more step closer to supporting PITR (which i think we can kind of still support with maybe few minutes of granularity) if we plan to use the same protocol.
Related component
Storage:Snapshots
Describe alternatives you've considered
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: