[SERVER-21237] ReplSetTest.prototype.awaitReplication reads directly from the oplog collection causing false positives Created: 31/Oct/15 Updated: 10/Mar/16 Resolved: 03/Nov/15 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication, Testing Infrastructure |
| Affects Version/s: | None |
| Fix Version/s: | 3.2.0-rc2 |
| Type: | Bug | Priority: | Critical - P2 |
| Reporter: | Scott Hernandez (Inactive) | Assignee: | Matt Dannenberg |
| Resolution: | Done | 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: | Repl C (11/20/15) | ||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||
| Linked BF Score: | 0 | ||||||||||||||||||||||||||||
| Description |
|
Because of changes in the way oplog entries are processed, the latest written oplog entries may be ahead of what has been journaled, or snapshotted, and reported and should not be used for "waiting for replication". ReplSetTest.prototype.awaitReplication must be re-written to use replSetGetStatus/serverStatus(oplog:true) from each node instead of querying the oplog directly. In addition the function should allow waiting for more types of replication, like for readConcern.majority, or readAfterOptime (which could be used to test for the former). |
| Comments |
| Comment by Githook User [ 03/Nov/15 ] |
|
Author: {u'username': u'dannenberg', u'name': u'matt dannenberg', u'email': u'matt.dannenberg@10gen.com'}Message: This commit was done post-RC2, in case that information becomes important at some point. |
| Comment by Githook User [ 03/Nov/15 ] |
|
Author: {u'username': u'dannenberg', u'name': u'matt dannenberg', u'email': u'matt.dannenberg@10gen.com'}Message: |
| Comment by Githook User [ 03/Nov/15 ] |
|
Author: {u'username': u'GeertBosch', u'name': u'Geert Bosch', u'email': u'geert@mongodb.com'}Message: |
| Comment by Githook User [ 03/Nov/15 ] |
|
Author: {u'username': u'dannenberg', u'name': u'matt dannenberg', u'email': u'matt.dannenberg@10gen.com'}Message: |
| Comment by Spencer Brody (Inactive) [ 02/Nov/15 ] |
|
The awaitLastOpCommitted also does reads of local.oplog.rs to determine if a given optime has been committed on all nodes. Please consider that method as well when working on this as it might need a similar change, or perhaps the two methods could be combined in some way? |