summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Wangensteen <george.wangensteen@mongodb.com>2021-06-23 20:09:59 +0000
committerGeorge Wangensteen <george.wangensteen@mongodb.com>2021-06-23 20:43:15 +0000
commitf9bed91448c7a6f1bd1681365f09fd0767efb21f (patch)
tree7099417ce9e2165070ab276223fc6603bf774097
parente86213853398475096d05e9b3170c1b3e3cb7641 (diff)
downloadmongo-f9bed91448c7a6f1bd1681365f09fd0767efb21f.tar.gz
SERVER-57893 Make rsm_horizon_change.js resilient to network failures
(cherry picked from commits 82ad45c958c2fc020c808254dbd19072a225113d and d378bdd1e6b8e170aabb8f4f089b74481ed0bf1a)
-rw-r--r--jstests/noPassthrough/rsm_horizon_change.js7
1 files changed, 6 insertions, 1 deletions
diff --git a/jstests/noPassthrough/rsm_horizon_change.js b/jstests/noPassthrough/rsm_horizon_change.js
index 5ff364277f2..8944e41f705 100644
--- a/jstests/noPassthrough/rsm_horizon_change.js
+++ b/jstests/noPassthrough/rsm_horizon_change.js
@@ -13,6 +13,11 @@ const unknownTopologyChangeRegex = new RegExp(
`Topology Change.*${st.configRS.name}.*topologyType:.*ReplicaSetNoPrimary.*type:.*Unknown`);
const knownTopologyChangeRegex = new RegExp(
`Topology Change.*${st.configRS.name}.*topologyType:.*ReplicaSetWithPrimary.*type:.*RSPrimary`);
+const expeditedMonitoringAfterNetworkErrorRegex =
+ new RegExp(`RSM monitoring host in expedited mode until we detect a primary`);
+const unknownServerDescriptionRegex =
+ new RegExp("(" + unknownTopologyChangeRegex.source + ")|(" +
+ expeditedMonitoringAfterNetworkErrorRegex.source + ")");
jsTest.log("Wait until the RSM on the mongos finds out about the config server primary");
checkLog.contains(st.s, knownTopologyChangeRegex);
@@ -27,7 +32,7 @@ rsConfig.version++;
assert.commandWorked(st.s.adminCommand({clearLog: 'global'}));
assert.commandWorked(configRSPrimary.adminCommand({replSetReconfig: rsConfig}));
-checkLog.contains(st.s, unknownTopologyChangeRegex);
+checkLog.contains(st.s, unknownServerDescriptionRegex);
jsTest.log("Verify that the RSM eventually has the right topology description again");
checkLog.contains(st.s, knownTopologyChangeRegex);