[SERVER-24467] Make the shard-side implementation of 'moveChunk' joinable Created: 08/Jun/16  Updated: 14/Jul/16  Resolved: 13/Jun/16

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 3.3.9

Type: Task Priority: Major - P3
Reporter: Kaloian Manassiev Assignee: Kaloian Manassiev
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Backwards Compatibility: Minor Change
Sprint: Sharding 16 (06/24/16)
Participants:
Linked BF Score: 0

 Description   

Currently, if the caller of the shard moveChunk command closes the connection for any reason, the chunk move operation will continue running in the background. If the same moveChunk command is retried though, the shard will return a ConflictingOperationInProgress error.

We should make the sharded 'moveChunk' operation joinable so that if a moveChunk command with exactly the same arguments is invoked it will block waiting for the already active moveChunk to complete.



 Comments   
Comment by Githook User [ 13/Jun/16 ]

Author:

{u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}

Message: SERVER-24467 Make the shard implementation of 'moveChunk' joinable

This change makes the shard implementation of the 'moveChunk' command join
a currently running migration if that migration has exactly the same
arguments as the call. This allows retriability of this command by the
balancer.

In addition, it makes the moveChunk command report success if the
specified chunk is already located on the desired destination shard.
Branch: master
https://github.com/mongodb/mongo/commit/3b7177d627a7a63b98b3717d982e323457267e12

Comment by Githook User [ 13/Jun/16 ]

Author:

{u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}

Message: SERVER-24467 Move active migrations tracking to separate class
Branch: master
https://github.com/mongodb/mongo/commit/9fd6bc9fb1a9321447efa964b7568da740b23bcf

Comment by Githook User [ 13/Jun/16 ]

Author:

{u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}

Message: SERVER-24467 Add assert.commandWorked to unit-tests

Also makes them 'use strict'.
Branch: master
https://github.com/mongodb/mongo/commit/4649ed8d47ac507d195d9fb4204f1cfa40e4e363

Comment by Githook User [ 13/Jun/16 ]

Author:

{u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}

Message: SERVER-24467 Make MoveChunkRequest and dependencies comparable

This change implements the '==' operator on MoveChunkRequest and any
dependent classes which do not have it.
Branch: master
https://github.com/mongodb/mongo/commit/97ad19ed5bc71835e9783b932411b0ea9f83d572

Generated at Thu Feb 08 04:06:26 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.