-
Type: Bug
-
Resolution: Fixed
-
Priority: Critical - P2
-
Affects Version/s: None
-
Component/s: Testing Infrastructure
-
None
-
Fully Compatible
-
ALL
-
v3.6, v3.4, v3.2
-
TIG 2018-02-12, TIG 2018-02-26
The changes in SERVER-31670 made suites using the ReplicaSetFixture have non-voting secondaries by default unless voting_secondaries=true or all_nodes_electable=True. There are test suites for readConcern={level: "majority"} that were incidentally testing w="majority" writeConcern. However, none of these test suites actually verified that the secondary in a 2-node replica set had applied the write immediately after the client performed a w="majority" write.
We should add a new write_concern_majority_passthrough.yml test suite that uses both (1) the set_read_and_write_concerns.js override with w="majority" and readConcern={level: "level} and (2) the set_read_preference_secondary.js override. It should be backported to the 3.2, 3.4, and 3.6 branches and run anywhere we already run an of aggregation_read_concern_majority_passthrough.yml, read_concern_linearizable_passthrough.yml, and read_concern_majority_passthrough.yml test suites.
Original summary
Passthrough suites using majority writes should have voting secondaries
Original description
The changes in SERVER-31670 made suites using the ReplicaSetFixture have non-voting secondaries by default unless voting_secondaries: true or all_nodes_electable:True was specified in the fixture configuration.
The majority write passthrough suites which use majority writes by default should be updated to have voting secondaries. Otherwise the majority writes are only on the primary, so there isn't much of a purpose to the passthrough.
The following suites should probably just need voting_secondaries: true set on the ReplicaSetFixture:
- read_concern_majority_passthrough
- read_concern_linearizable_passthrough
- aggregation_read_concern_majority_passthrough
I think the following suites which use majority writes by default should also be changed:
- change_streams_secondary_reads
- depends on
-
SERVER-30850 startParallelShell cannot be used in a shell started with a replica set connection string
- Closed
-
SERVER-32522 set_read_and_write_concerns.js treats mapReduce "out" field like aggregation's $out stage
- Closed
- is related to
-
SERVER-31670 Change replica set fixture used by replica_sets_jscore_passthrough to make its secondary have zero votes
- Closed
-
SERVER-32794 Make timeouts unrelated to elections not depend on election timeout
- Closed
- related to
-
SERVER-34116 resmoke.py is silently not running non-passthrough tests on the 3.4 branch
- Closed
-
SERVER-30642 Raise election timeouts as a way to provide more stable replica set test topologies
- Closed
-
SERVER-32774 Ensure change_streams_secondary_reads suite has voting secondaries
- Closed