-
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
[Remote Store] Changes requested for segment replication integration. #4628
Comments
+1. This is what I was suggesting here. The cost of performing a flush without fsync is effectively a refresh yet we still write a segments_N that can be pushed to the store. This also has the added benefit of more accurate seqNo/checkpoint data sent between shards stored in user data of the commit, with the incremental points we are unable to use this. The tricky part here is we are updating default refresh/flush behavior where we would now be performing the new fsyncless commit on an interval instead of a refresh. Another change that would be required is the sequence of uploads to the remote store & when xlog is truncated. The uploads occur now as a refresh listener so we'd have to guarantee those ops are preserved until the upload completes. |
This issue tracks only this work. Remaining points are already discussed in #4555. More details below.
Uploading SegmentInfos is not needed as defined as alternative above and discussed in #4555
This is already discussed in #4555. A bounded fsync approach will be used which keeps the recovery time bounded.
Discussed in #4555, a combination of saving last N commit points and keeping last M days data will be used. |
Coming from #4555, this isssue captures the changes needed on the remote store side for segment replication integration.
differs from lucene checksum andneeds hash and length attributes. With existing local store implementation, segrep relies on store file metadata passed as part of CheckpointInfoResponse. Replica compares diff out of its store files in local directory store.fsyncs
on IW commits on primary as remote store already provides durability guarantees. Translogs can be used for recovery in case of failures.Remote store design: #2700
Segment replication integration: #4555
The text was updated successfully, but these errors were encountered: