summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--buildscripts/resmokelib/testing/hooks/wait_for_replication.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/buildscripts/resmokelib/testing/hooks/wait_for_replication.py b/buildscripts/resmokelib/testing/hooks/wait_for_replication.py
index 8720f9456e6..0cc8e6b309f 100644
--- a/buildscripts/resmokelib/testing/hooks/wait_for_replication.py
+++ b/buildscripts/resmokelib/testing/hooks/wait_for_replication.py
@@ -22,9 +22,18 @@ class WaitForReplication(interface.Hook):
"""Run mongo shell to call replSetTest.awaitReplication()."""
start_time = time.time()
client_conn = self.fixture.get_driver_connection_url()
- js_cmds = "conn = '{}'; rst = new ReplSetTest(conn); rst.awaitReplication();".format(
- client_conn)
- shell_options = {"nodb": "", "eval": js_cmds}
+ js_cmds = """
+ conn = '{}';
+ try {{
+ rst = new ReplSetTest(conn);
+ rst.awaitReplication();
+ }} catch (e) {{
+ if (e.code === ErrorCodes.InterruptedAtShutdown || e.code === ErrorCodes.ShutdownInProgress) {{
+ jsTestLog("Ignoring shutdown error: " + tojson(e));
+ }}
+ throw e;
+ }}"""
+ shell_options = {"nodb": "", "eval": js_cmds.format(client_conn)}
shell_proc = core.programs.mongo_shell_program(self.hook_logger, **shell_options)
shell_proc.start()
return_code = shell_proc.wait()