-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
[Segment Replication] Swap replica to writeable engine during failover. #3989
Closed
Labels
Comments
mch2
added
enhancement
Enhancement or improvement to existing feature or request
distributed framework
labels
Jul 22, 2022
4 tasks
mch2
changed the title
[Segment Replication] Swap newly assigned primary to writeable engine.
[Segment Replication] Swap between writeable / RO replica engines during failover.
Jul 22, 2022
mch2
changed the title
[Segment Replication] Swap between writeable / RO replica engines during failover.
[Segment Replication] Swap between writeable / read-only replica engines during failover.
Jul 22, 2022
mch2
changed the title
[Segment Replication] Swap between writeable / read-only replica engines during failover.
[Segment Replication] Swap replica to writeable engine during failover.
Jul 25, 2022
Checklist for me as I go through this...
|
This was referenced Aug 4, 2022
13 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
As part of #2212, after a new primary has been selected we will need to convert its engine from an NRTReplicationEngine to InternalEngine.
The logic we are looking for here is similar to IndexShard's resetEngineToGlobalCheckpoint. However, we cannot simply close and reopen the engine. Replicas may have uncommitted operations in the index if it had synced from a refresh point of the previous primary. Lucene does not currently provide a way for us to convert from a directory reader that refreshes on an externally provided segmentInfos back to one that refreshes on an IW. This means we will only be able to open the InternalEngine with its writer from disk.
A suggested sequence for replica promotion:
directory.sync
so the commit point is durably persisted.The text was updated successfully, but these errors were encountered: