diff options
author | Nathan Myers <nathan.myers@10gen.com> | 2017-06-19 17:27:37 -0400 |
---|---|---|
committer | Nathan Myers <nathan.myers@10gen.com> | 2017-06-30 15:50:39 -0400 |
commit | c63465a42ed89ee6563841d7b349fa85de69963e (patch) | |
tree | 43653b128d3ca3997b4c3c9edbffae61f6868a5d /buildscripts | |
parent | ebb1e4c6192bcf440ff008222689ec5f0a7a2d57 (diff) | |
download | mongo-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.py | 7 |
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 = { |