[SERVER-35883] Invariant that if replication recovery does not have an initial sync flag set, that it does have a recovery timestamp Created: 28/Jun/18 Updated: 27/Oct/23 Resolved: 01/Nov/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Gregory McKeon (Inactive) | Assignee: | Backlog - Replication Team |
| Resolution: | Gone away | Votes: | 0 |
| Labels: | prepare_optional | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Replication
|
| Participants: |
| Comments |
| Comment by Samyukta Lanka [ 01/Nov/18 ] |
|
As part of this commit, I added changes to always crash if we replay a prepared transaction in replication recovery when enableMajorityReadConcern=false. |
| Comment by Samyukta Lanka [ 08/Oct/18 ] |
|
After talking it through with judah.schvimer, we decided that william.schultz's idea makes sense. We're going to always crash if we replay a prepared transaction in replication recovery when enableMajorityReadConcern=false. |
| Comment by Tess Avitabile (Inactive) [ 05/Oct/18 ] |
|
Yes, I believe it will work to crash if we replay a prepared transaction when recovering from an unstable checkpoint. william.schultz was considering crashing if we replay a prepared transaction in replication recovery when enableMajorityReadConcern=false, even if we are recovering from a stable checkpoint. This is to ensure that you do not restart your server with enableMajorityReadConcern:false when you might need to roll back a prepareTransaction oplog entry. |
| Comment by Judah Schvimer [ 05/Oct/18 ] |
|
I don't think this is possible anymore given the enableMajorityReadConcern: false flag. This however means that startup replication recovery would not always occur from a stable checkpoint. When recovering from an unstable checkpoint though, we can invariant that we do not replay any prepared transactions, and so the recovery should operate identically to 4.0. tess.avitabile, william.schultz, samy.lanka for additional thoughts. |