[SERVER-2068] Check chunk boundaries of delete operations during chunk migration Created: 07/Nov/10  Updated: 12/Jul/16  Resolved: 08/Nov/10

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 1.6.5, 1.7.3

Type: Bug Priority: Major - P3
Reporter: Alberto Lerner Assignee: Alberto Lerner
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to SERVER-13462 Ignore orphan documents in sharding_m... Closed
Operating System: ALL
Participants:

 Description   

Deletion of a migrated chunk may be delayed if there are cursors open for that range. The following race condition may ensue:

1) migrate chunk C1 from TO to FROM shards
2) FROM shard delays deletion of C1 because of open cursor X
3) start migrate chunk C2 from TO to FROM shards
4) open cursor X of 2) finishes
5) FROM shard's cleanOldData thread finally kicks in for C1
6) FROM shard sees the deletions on C1 as 'mods', while cloning C2
7) TO shard applies deletes thinking they belong to C2
8) C1 is gone (but data is recoverable using the moveChunk/ data directory)

We'll fix both the FROM side, not to propagate the deletions on step 6, and the TO side, not to apply out of range deletions on step 7



 Comments   
Comment by auto [ 08/Nov/10 ]

Author:

{'login': 'alerner', 'name': 'Alberto Lerner', 'email': 'alerner@10gen.com'}

Message: SERVER-2068 make sure to use the same thread name
/mongodb/mongo/commit/6280a732012821396ee8432470884b2d38fb48c3

Comment by auto [ 08/Nov/10 ]

Author:

{'login': 'erh', 'name': 'Eliot Horowitz', 'email': 'eliot@10gen.com'}

Message: test for SERVER-2068
/mongodb/mongo/commit/2dd7f54687dc034b39098728d49238c65f4e44fa

Comment by auto [ 08/Nov/10 ]

Author:

{'login': 'erh', 'name': 'Eliot Horowitz', 'email': 'eliot@10gen.com'}

Message: when cleaning a chunk after migrating, don't store those deletes in the xfer list SERVER-2068
/mongodb/mongo/commit/8956ac99d0f374b0653776c18c15ca84d497165d

Comment by auto [ 08/Nov/10 ]

Author:

{'login': 'alerner', 'name': 'Alberto Lerner', 'email': 'alerner@10gen.com'}

Message: SERVER-2068 check on the TO side of a chunk migration before applying deletions
/mongodb/mongo/commit/6f827308eb8f2dd59a0fc278bc968835f950a657

Comment by auto [ 08/Nov/10 ]

Author:

{'login': 'alerner', 'name': 'Alberto Lerner', 'email': 'alerner@10gen.com'}

Message: SERVER-2068 make sure to use the same thread name
/mongodb/mongo/commit/8d306011efc3813c85dff0a0f60141c56835eadd

Comment by auto [ 08/Nov/10 ]

Author:

{'login': 'erh', 'name': 'Eliot Horowitz', 'email': 'eliot@10gen.com'}

Message: test for SERVER-2068
/mongodb/mongo/commit/3fcb3616f201f15eaeb63a5dfb73e767de445be1

Comment by auto [ 08/Nov/10 ]

Author:

{'login': 'erh', 'name': 'Eliot Horowitz', 'email': 'eliot@10gen.com'}

Message: when cleaning a chunk after migrating, don't store those deletes in the xfer list SERVER-2068
/mongodb/mongo/commit/b741da2a0ed581d27af8318a6337d2ace9654f44

Comment by Alberto Lerner [ 08/Nov/10 ]

Author:

{'login': 'alerner', 'name': 'Alberto Lerner', 'email': 'alerner@10gen.com'}

Message: SERVER-1068 test deletions regardless of command line args
/mongodb/mongo/commit/f95f7a44c3628b87e37a853bb2e7dd725845359f

Comment by auto [ 07/Nov/10 ]

Author:

{'login': 'alerner', 'name': 'Alberto Lerner', 'email': 'alerner@10gen.com'}

Message: SERVER-2068 check on the TO side of a chunk migration before applying deletions
/mongodb/mongo/commit/0ede22a20826a852a62040fc5f323278256dc2b0

Generated at Thu Feb 08 02:58:52 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.