[SERVER-26471] Race between chunk metadata commit and an immediate move of a chunk from the donor may leave gaps in the shard metadata Created: 05/Oct/16  Updated: 19/Nov/16  Resolved: 08/Oct/16

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: 3.4.0-rc0
Fix Version/s: 3.4.0-rc1

Type: Bug 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

Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Sharding 2016-10-10, Sharding 2016-10-31
Participants:

 Description   

During chunk migration the recipient shard is not notified when the metadata reflecting the move is committed. This is not necessary because the recipient will be forced to refresh its metadata the first time it receives the new shard version from a mongos.

Because of this property of the protocol, the recipient shard is free in turn to donate some other chunk as soon as the donor has entered the critical section and has requested that the recipient flushes all received documents.

If a former recipient manages to donate a new chunk before the original migration commits, due to the incremental metadata refresh, this recipient will never have the originally donated chunk in its metadata and will keep filtering out documents for a chunk which it in fact owns.



 Comments   
Comment by Githook User [ 08/Oct/16 ]

Author:

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

Message: SERVER-26471 Always incrementally refresh metadata after committing chunk migration

Also introduces a failpoint and js test to exercise the race condition.
Branch: master
https://github.com/mongodb/mongo/commit/30b79f47f04926d972192ed06a1fa08620592b67

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