[SERVER-26356] disallow support for linearizable reads with pv0 Created: 27/Sep/16 Updated: 19/Nov/16 Resolved: 15/Nov/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | 3.4.0-rc4 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Eric Milkie | Assignee: | Judah Schvimer |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Sprint: | Repl 2016-11-21 | ||||||||
| Participants: | |||||||||
| Comments |
| Comment by Githook User [ 15/Nov/16 ] |
|
Author: {u'username': u'judahschvimer', u'name': u'Judah Schvimer', u'email': u'judah@mongodb.com'}Message: |
| Comment by Judah Schvimer [ 28/Oct/16 ] |
|
The linearizable read test fails with PV0 because it assumes that a partitioned primary will stay primary for a minute, during which we test that a linearizable read fails. In PV0 the partitioned primary steps down much faster. We should replace this test (or add an extra test) that has a primary, secondary, and arbiter, and puts a partition between the secondary and the other two nodes. This way the primary stays primary but can't satisfy linearizable reads. Alternatively we can just pause replication on two of the secondaries instead of creating a partition. Both of these tests are implementation specific to some extent, which could be one negative. |
| Comment by Judah Schvimer [ 26/Oct/16 ] |
|
If we don't enable the tests, we need to disallow support for pv0. |
| Comment by Eric Milkie [ 14/Oct/16 ] |
|
I almost got this working except that apply_batch_only_goes_forward.js hangs in the replica_set_legacy suite. I didn't get a chance to debug why, but I am concerned that it is a real deadlock. |