Description
Is your feature request related to a problem? Please describe.
For a remote translog in NRTReplicationEngine
we ideally don't need to forward requests to the replica since the translog has already been durably persisted to a remote store. However in the event of a network partition where the primary and replica gets partitioned off, during this period, the primary might continue to ack writes and the replica(now promoted to a new primary) also does the same. This might continue longer espl with the #3045 even when there is no active master. As a result we can run into issues where we can have divergent writes and data integrity issues.
To avoid this we need to have a proposal to mitigate such risk
Also see #3237
Describe the solution you'd like
- We do a no-op replication to all replica copies, this is similar to what we do today except for the No Op
- We could have a mechanism sitting in the remote store to ensure both primary and replica reconcile their views based on a common agreed upon protocol based on versioning. If replica gets promoted it bumps up the version which the stale primary should be able to process and fail to ack subsequent writes.
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.