Skip to content
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] Remove acquire PRRL during replica recovery if remote translog is enabled #4502

Closed
Tracked by #4507 ...
ashking94 opened this issue Sep 14, 2022 · 0 comments
Labels
distributed framework enhancement Enhancement or improvement to existing feature or request

Comments

@ashking94
Copy link
Member

ashking94 commented Sep 14, 2022

Is your feature request related to a problem? Please describe.
PRRL is used to keep lucene operation history and is also used in recovery for replaying these operations once the segment files are sent to the target. During replica recovery, PRRL is acquired for sending these operations to the replica after the segment files (from most recent safe commit) are copied over to replicas. This is not required when remote translog is enabled.

Points to take care -

  • Currently, PRRL leases are updated on account of global checkpoints getting updated. RetentionLeaseSyncAction is further used to sync retention leases to the replicas. With segment replication, while the retention leases would exist in ReplicationTracker, there would not be actual lucene operations present within the replica shard. Adding on to this, with remote translog, the recovery of replicas would always be filebased recovery without any replay of translog (lucene opeartions). The proposal would be to update retention leases on primary basis the primary's local checkpoint or any intentionally acquired locks. The PRRLs would still be needed for primary-primary replication.
  • PRRL creation/deletion is not required as the replicas do not hold the lucene history going forward.

Describe the solution you'd like
Remove PRRL from replica recovery code.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
distributed framework enhancement Enhancement or improvement to existing feature or request
Projects
None yet
Development

No branches or pull requests

2 participants