...
BugZero found this defect 2682 days ago.
The moveChunk command offers a "waitForDelete" option that does the obvious. It ignores "_waitForDelete" spelled without the leading underscore. It should treat both spellings identically. The documentation should be changed to suggest the non-underscore version. (We will support the underscore spelling indefinitely, for backward compatibility.) Drivers should also accept the non-underscore option, and corresponding IDE annotations should suggest it.
esha.maharishi@10gen.com commented on Fri, 21 Jul 2017 14:20:21 +0000: Author: {u'username': u'EshaMaharishi', u'name': u'Esha Maharishi', u'email': u'esha.maharishi@mongodb.com'} Message: SERVER-29876 moveChunk command ignores '_waitForDelete' option Branch: v3.4 https://github.com/mongodb/mongo/commit/aeccd2c8b429f4f3f81f5fb8e048ddb58fd0749a nathan.myers commented on Fri, 21 Jul 2017 14:00:05 +0000: Probably. But _waitForDelete makes less difference in 3.4 because there is no orphanCleanupDelaySecs. We should backport it anyway because people spelling it wrong probably either don't notice, or notice and curse us while they fix it, and neither outcome is good. kaloian.manassiev commented on Fri, 21 Jul 2017 11:36:39 +0000: Is this a problem in 3.4 as well? esha.maharishi@10gen.com commented on Thu, 20 Jul 2017 22:06:33 +0000: SERVER-30133 includes this fix, and makes mongos, config servers, and shards accept either 'waitForDelete' or '_waitForDelete'. esha.maharishi@10gen.com commented on Mon, 10 Jul 2017 14:40:07 +0000: Also noting that mongos only passes '_waitForDelete' (with underscore) to the config server: https://github.com/mongodb/mongo/blob/r3.5.9/src/mongo/s/commands/cluster_move_chunk_cmd.cpp#L199 esha.maharishi@10gen.com commented on Fri, 7 Jul 2017 20:56:41 +0000: nathan.myers, I think this might be backwards - shards respect "waitForDelete" but not "_waitForDelete"? https://github.com/mongodb/mongo/blob/1b49f7f0e3d72662ddf81d7c3ed5254d874a0673/src/mongo/s/move_chunk_request.cpp#L47 nathan.myers commented on Mon, 26 Jun 2017 22:47:11 +0000: The moveChunk command will now interpret a "waitForDelete:" option identically as "_waitForDelete", instead of ignoring it. Note that, starting in 3.6, if the waitForDelete option is not chosen, the command returns immediately after the chunk is copied, but the server waits before beginning to delete the orphan chunk. The waiting period is determined by the orphanCleanupDelaySecs server parameter, which defaults to 15 minutes. (This delay is intended to allow queries still running on secondary servers, which may depend on documents in the chunk, to complete before deletion begins.)