[SERVER-71677] Investigate ways to prevent rollback when changing sync sources Created: 29/Nov/22  Updated: 06/Dec/22  Resolved: 05/Dec/22

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Xuerui Fa Assignee: Backlog - Replication Team
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
Assigned Teams:
Replication
Participants:
Case:

 Description   

The current secondary behavior is that we will apply events until we have caught up to our sync source, at which point we will decide to switch sync sources if our current sync source is not primary and does not have a sync source. However, if our sync source was previously the primary and continued to apply writes, it may have advanced past the new primary, which means that we will into rollback when we change sync sources.

We should investigate potential ways to prevent this rollback, to lower the likelihood that we will go into rollback following network errors. One avenue to consider is checking the repl metadatas of both the new and old primary when changing sync sources. It is also reasonable to determine that this improvement is not worth the complexity that it would add.


Generated at Thu Feb 08 06:19:41 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.