diff options
author | William Schultz <william.schultz@mongodb.com> | 2017-10-23 14:43:00 -0400 |
---|---|---|
committer | William Schultz <william.schultz@mongodb.com> | 2017-10-23 14:53:06 -0400 |
commit | 410a36fcf78edde649e01c909cf402c4c6e21e00 (patch) | |
tree | 2a9dc1ef1743d85987d1a75fc9deea78242a897a /jstests/replsets | |
parent | 9af189775db7b17b265d18a04ca0dc314792a4c5 (diff) | |
download | mongo-410a36fcf78edde649e01c909cf402c4c6e21e00.tar.gz |
SERVER-31166 Ensure all rollback tests check dbhash and oplog consistency
Diffstat (limited to 'jstests/replsets')
-rw-r--r-- | jstests/replsets/double_rollback.js | 4 | ||||
-rw-r--r-- | jstests/replsets/read_committed_after_rollback.js | 4 | ||||
-rw-r--r-- | jstests/replsets/rollback_auth.js | 6 | ||||
-rw-r--r-- | jstests/replsets/rollback_creates_rollback_directory.js | 4 | ||||
-rw-r--r-- | jstests/replsets/rollback_crud_op_sequences.js | 4 | ||||
-rw-r--r-- | jstests/replsets/rollback_ddl_op_sequences.js | 4 | ||||
-rw-r--r-- | jstests/replsets/rollback_different_h.js | 4 | ||||
-rw-r--r-- | jstests/replsets/rollback_transaction_table.js | 1 | ||||
-rw-r--r-- | jstests/replsets/rollback_views.js | 4 | ||||
-rw-r--r-- | jstests/replsets/rollback_with_socket_error_then_steady_state.js | 8 |
10 files changed, 43 insertions, 0 deletions
diff --git a/jstests/replsets/double_rollback.js b/jstests/replsets/double_rollback.js index 2bcc384d3ef..fe2eaccf165 100644 --- a/jstests/replsets/double_rollback.js +++ b/jstests/replsets/double_rollback.js @@ -140,4 +140,8 @@ writeConcern: {w: 3, wtimeout: ReplSetTest.kDefaultTimeoutMS} })); + // Verify data consistency between nodes. + rst.checkReplicatedDataHashes(); + rst.checkOplogs(); + }()); diff --git a/jstests/replsets/read_committed_after_rollback.js b/jstests/replsets/read_committed_after_rollback.js index be17c5bea3f..219c0c8f327 100644 --- a/jstests/replsets/read_committed_after_rollback.js +++ b/jstests/replsets/read_committed_after_rollback.js @@ -142,4 +142,8 @@ load("jstests/replsets/rslib.js"); // For startSetIfSupportsReadMajority. {a: 1}, {writeConcern: {w: 'majority', wtimeout: replTest.kDefaultTimeoutMS}})); assert.eq(doCommittedRead(newPrimaryColl), 'new'); assert.eq(doCommittedRead(oldPrimaryColl), 'new'); + + // Verify data consistency between nodes. + replTest.checkReplicatedDataHashes(); + replTest.checkOplogs(); }()); diff --git a/jstests/replsets/rollback_auth.js b/jstests/replsets/rollback_auth.js index bbdc4addb6f..073ecb486ff 100644 --- a/jstests/replsets/rollback_auth.js +++ b/jstests/replsets/rollback_auth.js @@ -199,5 +199,11 @@ checkFinalResults(a); checkFinalResults(b); + // Verify data consistency between nodes. + authutil.asCluster(replTest.nodes, 'jstests/libs/key1', function() { + replTest.checkReplicatedDataHashes(); + replTest.checkOplogs(); + }); + replTest.stopSet(); }()); diff --git a/jstests/replsets/rollback_creates_rollback_directory.js b/jstests/replsets/rollback_creates_rollback_directory.js index 78eead7ae34..0de5e21f73e 100644 --- a/jstests/replsets/rollback_creates_rollback_directory.js +++ b/jstests/replsets/rollback_creates_rollback_directory.js @@ -88,6 +88,10 @@ assert.eq(null, B.foo.findOne({key: 'value1'}).res); var rollbackDir = Bpath + "rollback/"; assert(pathExists(rollbackDir), "rollback directory was not created!"); +// Verify data consistency between nodes. +replTest.checkReplicatedDataHashes(); +replTest.checkOplogs(); + print(testName + ".js SUCCESS"); replTest.stopSet(15); diff --git a/jstests/replsets/rollback_crud_op_sequences.js b/jstests/replsets/rollback_crud_op_sequences.js index 03950c6c179..a7a11aed621 100644 --- a/jstests/replsets/rollback_crud_op_sequences.js +++ b/jstests/replsets/rollback_crud_op_sequences.js @@ -141,5 +141,9 @@ load("jstests/replsets/rslib.js"); checkFinalResults(a); checkFinalResults(b); + // Verify data consistency between nodes. + replTest.checkReplicatedDataHashes(); + replTest.checkOplogs(); + replTest.stopSet(15); }()); diff --git a/jstests/replsets/rollback_ddl_op_sequences.js b/jstests/replsets/rollback_ddl_op_sequences.js index 622d29a7fe1..d074bb33d4e 100644 --- a/jstests/replsets/rollback_ddl_op_sequences.js +++ b/jstests/replsets/rollback_ddl_op_sequences.js @@ -160,5 +160,9 @@ load("jstests/replsets/rslib.js"); checkFinalResults(a); checkFinalResults(b); + // Verify data consistency between nodes. + replTest.checkReplicatedDataHashes(); + replTest.checkOplogs(); + replTest.stopSet(15); }()); diff --git a/jstests/replsets/rollback_different_h.js b/jstests/replsets/rollback_different_h.js index cc242925d7b..0c4967aa691 100644 --- a/jstests/replsets/rollback_different_h.js +++ b/jstests/replsets/rollback_different_h.js @@ -94,4 +94,8 @@ assert.soon(function() { } }, "collection on A and B did not match after rollback"); +// Verify data consistency between nodes. +replTest.checkReplicatedDataHashes(); +replTest.checkOplogs(); + replTest.stopSet(); diff --git a/jstests/replsets/rollback_transaction_table.js b/jstests/replsets/rollback_transaction_table.js index 9e0ca77a6d4..df1083f64a5 100644 --- a/jstests/replsets/rollback_transaction_table.js +++ b/jstests/replsets/rollback_transaction_table.js @@ -215,6 +215,7 @@ // Confirm the nodes are consistent. replTest.checkReplicatedDataHashes(testName); + replTest.checkOplogs(); replTest.stopSet(); }()); diff --git a/jstests/replsets/rollback_views.js b/jstests/replsets/rollback_views.js index 1547f09200a..a833ed82ecc 100644 --- a/jstests/replsets/rollback_views.js +++ b/jstests/replsets/rollback_views.js @@ -131,5 +131,9 @@ load("jstests/replsets/rslib.js"); printjson(checkFinalResults([a2, b2], ["coll", "system.views"], ["y"])); printjson(checkFinalResults([a3, b3], ["coll", "system.views"], ["z"])); + // Verify data consistency between nodes. + replTest.checkReplicatedDataHashes(); + replTest.checkOplogs(); + replTest.stopSet(); }()); diff --git a/jstests/replsets/rollback_with_socket_error_then_steady_state.js b/jstests/replsets/rollback_with_socket_error_then_steady_state.js index 48c77852a84..98dfc368f7e 100644 --- a/jstests/replsets/rollback_with_socket_error_then_steady_state.js +++ b/jstests/replsets/rollback_with_socket_error_then_steady_state.js @@ -129,4 +129,12 @@ ReplSetTest.State.ROLLBACK, "node 2 is doing steady-state replication with state=ROLLBACK!"); waitForState(nodes[2], ReplSetTest.State.SECONDARY); + + // Re-connect all nodes. + nodes[1].reconnect([nodes[0], nodes[3], nodes[4]]); + + // Verify data consistency between nodes. + rst.checkReplicatedDataHashes(); + rst.checkOplogs(); + }()); |