[SERVER-8598] Add command to cleanup orphaned data created by failed chunk migrations Created: 15/Feb/13 Updated: 18/Feb/14 Resolved: 12/Aug/13 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Admin, Sharding, Tools |
| Affects Version/s: | None |
| Fix Version/s: | 2.5.2 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Daniel Pasette (Inactive) | Assignee: | Greg Studer |
| Resolution: | Done | Votes: | 6 |
| Labels: | cleanup, commands, sharding | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Operating System: | ALL | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Description |
|
Provide a built in function to clean up orphaned data in a collection. |
| Comments |
| Comment by Vincent [ 18/Feb/14 ] |
|
What is the correct way to achieve the same as this command in 2.4.x? |
| Comment by auto [ 10/Oct/13 ] |
|
Author: {u'username': u'ajdavis', u'name': u'A. Jesse Jiryu Davis', u'email': u'jesse@mongodb.com'}Message: Aids testing cleanupOrphaned and mergeChunks. Signed-off-by: Matt Kangas <matt.kangas@mongodb.com> |
| Comment by auto [ 21/Aug/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by auto [ 21/Aug/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by auto [ 13/Aug/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by auto [ 09/Aug/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by Kevin J. Rice [ 06/Aug/13 ] |
|
Also needs documentation change to describe how to call this function, whether it locks the collection on that shard, etc. |
| Comment by auto [ 06/Aug/13 ] |
|
Author: {u'username': u'tadmarshall', u'name': u'Tad Marshall', u'email': u'tad@10gen.com'}Message: |
| Comment by auto [ 06/Aug/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by auto [ 06/Aug/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by auto [ 06/Aug/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by auto [ 28/Jul/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by Greg Studer [ 28/Jul/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: Note transposed 8958/8598 |
| Comment by auto [ 27/Jul/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by auto [ 26/Jul/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by auto [ 19/Jul/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by auto [ 19/Jul/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by auto [ 19/Jul/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by auto [ 10/Jul/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by auto [ 10/Jul/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by auto [ 10/Jul/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: Also includes fixes for MetadataLoader |
| Comment by auto [ 17/Jun/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by auto [ 17/Jun/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by auto [ 17/Jun/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by auto [ 17/Jun/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by auto [ 04/Jun/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by auto [ 04/Jun/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by auto [ 04/Jun/13 ] |
|
Author: {u'username': u'gregstuder', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by auto [ 22/May/13 ] |
|
Author: {u'username': u'renctan', u'name': u'Randolph Tan', u'email': u'randolph@10gen.com'}Message: Moved range deleter files from s/ to db/ |
| Comment by auto [ 22/May/13 ] |
|
Author: {u'username': u'renctan', u'name': u'Randolph Tan', u'email': u'randolph@10gen.com'}Message: Step 4: Delete documents when migration failed or was aborted at destination shard. |
| Comment by auto [ 22/May/13 ] |
|
Author: {u'username': u'renctan', u'name': u'Randolph Tan', u'email': u'randolph@10gen.com'}Message: Step 3: Replace OldDataCleanup with RangeDeleter |
| Comment by auto [ 16/May/13 ] |
|
Author: {u'date': u'2013-05-16T20:00:07Z', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}Message: |
| Comment by auto [ 18/Apr/13 ] |
|
Author: {u'date': u'2013-04-11T21:05:08Z', u'name': u'Randolph Tan', u'email': u'randolph@10gen.com'}Message: Added a way to pass index specs for deletion. |
| Comment by Randolph Tan [ 18/Apr/13 ] |
|
Author: {u'date': u'2013-04-18T15:46:45Z', u'name': u'Randolph Tan', u'email': u'randolph@10gen.com'}Message: Made sure to increment the counter after the event happened, not before. |
| Comment by auto [ 18/Apr/13 ] |
|
Author: {u'date': u'2013-04-18T10:06:24Z', u'name': u'Tad Marshall', u'email': u'tad@10gen.com'}Message: |
| Comment by auto [ 18/Apr/13 ] |
|
Author: {u'date': u'2013-04-18T09:17:42Z', u'name': u'Tad Marshall', u'email': u'tad@10gen.com'}Message: |
| Comment by auto [ 17/Apr/13 ] |
|
Author: {u'date': u'2013-04-01T17:52:58Z', u'name': u'Randolph Tan', u'email': u'randolph@10gen.com'}Message: Step 2: Implement range deleter. |
| Comment by auto [ 17/Apr/13 ] |
|
Author: {u'date': u'2013-03-29T14:26:07Z', u'name': u'Randolph Tan', u'email': u'randolph@10gen.com'}Message: Step 1: Refactor bson range helpers. |
| Comment by Randolph Tan [ 27/Feb/13 ] |
|
Pseudo code in mongos: SHARDED->commandOp( { cleanupOrphanData: <ns> }) Pseudo code in mongod: if (isMigrationToHereActive) return false; migrateStatus.prepare(); // so no chunks can be sent to this shard for (chunk in ChunksIDontOwn) do migrateStatus.setActive(false); // allow chunk migrations to this shard again Notes:
Some things to consider:
|