[SERVER-31726] Timestamps can be set on transactions that don't trigger a visibility refresh Created: 26/Oct/17 Updated: 30/Oct/23 Resolved: 27/Oct/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Storage |
| Affects Version/s: | None |
| Fix Version/s: | 3.6.0-rc2 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Daniel Gottlieb (Inactive) | Assignee: | Daniel Gottlieb (Inactive) |
| 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 | ||||
| Sprint: | Storage 2017-11-13 | ||||
| Participants: | |||||
| Linked BF Score: | 0 | ||||
| Description |
|
Currently the code expects all timestamped transactions, which have the potential to update visibility, to call WiredTigerOplogManager::triggerJournalFlush. There are code paths that can set timestamps but not result in calling this method. Some paths forward to consider include:
|
| Comments |
| Comment by Githook User [ 27/Oct/17 ] |
|
Author: {'email': 'daniel.gottlieb@mongodb.com', 'name': 'Daniel Gottlieb', 'username': 'dgottlieb'}Message: Readers have the ability to wait for oplog writes to become visible. The For efficiency reasons, this background thread waits on a condition variable and This patch fixes that error case by having transactions that can impact visibility |
| Comment by Githook User [ 27/Oct/17 ] |
|
Author: {'email': 'daniel.gottlieb@mongodb.com', 'name': 'Daniel Gottlieb', 'username': 'dgottlieb'}Message: |
| Comment by Eric Milkie [ 26/Oct/17 ] |
|
I think Dan and I agree that number 2 in the description is the best way forward. |