Sharding chunk orphaned

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Community Answered
    • Priority: Major - P3
    • None
    • Affects Version/s: 8.2.0, 8.3.0
    • Component/s: None
    • None
    • Catalog and Routing
    • ALL
    • Hide

      Initiate the transitionToDedicatedConfigServer step.

      Show
      Initiate the transitionToDedicatedConfigServer step.
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      According to some of our tests, the shard draining is not working correctly in 8.2 and 8.3 both.

      What is failing ?
      We have a test which performs a transition from shard to dedicated config server. When our agent polls the status, it comes of as completed in 8.0 but not in 8.2 or 8.3.

      Why is it failing ? (preliminary analysis, server help needed)

      MongoDB 8.2 & 8.3

      Step 1: Initial chunk move succeeds (rotated log, before the loop)     
        20:57:14  config.rangeDeletions collection created on myClusterShard1 (via oplog)        
        20:57:23  Starting chunk migration donation — fromShard:"myClusterShard1" → toShard:"config"                                   
        20:57:23  Migration succeeded (128ms) ✓                                                                                    
        The cluster setup moved a chunk from shard1 → config. That succeeded. But it left orphan documents on shard1 (the donor) scheduled for deletion in config.rangeDeletions.                                                                         
                        
        ---                                                                                                                                                                                                                                               
        Step 2: transitionToDedicatedConfigServer tries to move it back (main log)
        Now the same chunk needs to go config → shard1. Every single attempt hits:                                                   
        20:57:34  Starting receiving end of chunk migration  range: {a:5000} → {a:MaxKey}
        20:57:34  Waiting for deletion of orphans            orphanRange: {a:5000} → {a:MaxKey}                                                                                                                                 
        20:57:44  Error during migration: ExceededTimeLimit                                                                                                                                                                                               
                  "Migration failed because the orphans cleanup routine didn't clear yet
                   a portion of the range being migrated that was previously owned by                                                                                                                                                                     
                   the recipient shard."                                                                                                                                  
        This repeats every ~11 seconds, 189 times, from 20:57:34 to 21:32:17.                                                                                                                                                                             
                        
        ---                                                                                                                                                                                                                                               
        Step 3: The explicit smoking gun (last lines of log)
                                                            
        At 21:32:18 — the very last migration attempt adds a new, even clearer message:                
        21:32:18  Migration paused because the requested range overlaps with a range
                  already scheduled for deletion                                                                                                                                                                                                          
                  range: [{a:5000}, {a:MaxKey})
                                                                                                                                                                                                                                                          
        And the final changelog entry:
        21:32:17  moveChunk.to  note:"aborted"  

            Assignee:
            Unassigned
            Reporter:
            Swapnil Saxena
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: