summaryrefslogtreecommitdiff
path: root/buildscripts
diff options
context:
space:
mode:
authorNathan Myers <nathan.myers@10gen.com>2017-06-19 17:27:37 -0400
committerNathan Myers <nathan.myers@10gen.com>2017-06-30 15:50:39 -0400
commitc63465a42ed89ee6563841d7b349fa85de69963e (patch)
tree43653b128d3ca3997b4c3c9edbffae61f6868a5d /buildscripts
parentebb1e4c6192bcf440ff008222689ec5f0a7a2d57 (diff)
downloadmongo-c63465a42ed89ee6563841d7b349fa85de69963e.tar.gz
SERVER-29405 delay deleting orphaned shard chunks
When deleting the donor range after migrating a chunk off of a shard, the range deleter will schedule the deletion at some time in the future, according to a server parameter orphanCleanupDelaySecs, which defaults to 900, or 15 minutes. It does not delay range deletions preparatory to migrating a range in, and does not put off deleting the donor range if the moveChunk command has set the option _waitForDelete. The file jstests/sharding/write_commands_sharding_state.js had CR (0x0D) line endings, which made the patch fail lint. The substantive changes in the file were to add "_waitForDelete" options to the moveChunk commands.
Diffstat (limited to 'buildscripts')
-rw-r--r--buildscripts/resmokelib/core/programs.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/buildscripts/resmokelib/core/programs.py b/buildscripts/resmokelib/core/programs.py
index ddc44a54955..55508ad3fd0 100644
--- a/buildscripts/resmokelib/core/programs.py
+++ b/buildscripts/resmokelib/core/programs.py
@@ -36,6 +36,13 @@ def mongod_program(logger, executable=None, process_kwargs=None, **kwargs):
if "replSet" in kwargs and "logComponentVerbosity" not in suite_set_parameters:
suite_set_parameters["logComponentVerbosity"] = {"replication": {"heartbeats": 2}}
+ # orphanCleanupDelaySecs controls an artificial delay before cleaning up an orphaned chunk
+ # that has migrated off of a shard, meant to allow most dependent queries on secondaries to
+ # complete first. It defaults to 900, or 15 minutes, which is prohibitively long for tests.
+ # Setting it in the .yml file overrides this.
+ if "shardsvr" in kwargs and "orphanCleanupDelaySecs" not in suite_set_parameters:
+ suite_set_parameters["orphanCleanupDelaySecs"] = 0
+
_apply_set_parameters(args, suite_set_parameters)
shortcut_opts = {