[SERVER-24733] Oplog as Buffer: abandon snapshot when getting oplog entries from oplog buffer Created: 22/Jun/16 Updated: 19/Jul/16 Resolved: 01/Jul/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | 3.3.10 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Judah Schvimer | Assignee: | Judah Schvimer |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Backwards Compatibility: | Fully Compatible |
| Sprint: | Repl 16 (06/24/16) |
| Participants: |
| Description |
|
When using the oplog buffer collection in steady state replication, we must abandon the current snapshot on the OperationContext before each peek and pop from the buffer. If we never abandon the snapshot, then any new data that comes in after the operation context is created will not be seen. |
| Comments |
| Comment by Githook User [ 01/Jul/16 ] |
|
Author: {u'username': u'judahschvimer', u'name': u'Judah Schvimer', u'email': u'judah@mongodb.com'}Message: |
| Comment by Judah Schvimer [ 24/Jun/16 ] |
|
This should be modified to use ScopedTransactions in the replication StorageInterface |
| Comment by Githook User [ 23/Jun/16 ] |
|
Author: {u'username': u'judahschvimer', u'name': u'Judah Schvimer', u'email': u'judah@mongodb.com'}Message: |
| Comment by Scott Hernandez (Inactive) [ 22/Jun/16 ] |
|
Another solution would be to not re-use the same operation context for every call, and create a new one for each iteration in the loop. |