[SERVER-34895] Stable timestamp can be set to timestamp not in oplog Created: 08/May/18 Updated: 29/Oct/23 Resolved: 15/May/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | 3.6.7, 4.0.0-rc0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Judah Schvimer | Assignee: | Judah Schvimer |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||
| Operating System: | ALL | ||||||||||||||||||||||||
| Backport Requested: |
v3.6
|
||||||||||||||||||||||||
| Sprint: | Repl 2018-05-21 | ||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Case: | (copied to CRM) | ||||||||||||||||||||||||
| Linked BF Score: | 15 | ||||||||||||||||||||||||
| Description |
|
We set the stable timestamp using the "candidates" list which is populated whenever we move "lastApplied" forward. On primaries, we set lastApplied to the "all committed timestamp", which is not necessarily a timestamp in the oplog. On primaries we need to actually add the operation commit time to the candidates list, rather than the "all committed timestamp". |
| Comments |
| Comment by Githook User [ 07/Aug/18 ] |
|
Author: {'username': 'judahschvimer', 'name': 'Judah Schvimer', 'email': 'judah@mongodb.com'}Message: (cherry picked from commit 689d52131f6ac1a446fe1b93647b11d0329c629c) |
| Comment by Judah Schvimer [ 09/Jul/18 ] |
|
This needs to be backported to 3.6 because the appliedThrough value in minValid is set based on the lastApplied optime and must be an optime actually in the oplog. |
| Comment by Githook User [ 15/May/18 ] |
|
Author: {'email': 'judah@mongodb.com', 'username': 'judahschvimer', 'name': 'Judah Schvimer'}Message: |
| Comment by Judah Schvimer [ 09/May/18 ] |
|
Since we don't use the stable timestamp for rollback in 3.6, this does not need to be backported. |