Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-1842

Handle migrate back case when previous migrate clean-up hasn't finished

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 1.7.5
    • Affects Version/s: None
    • Component/s: Sharding
    • Labels:
      None
    • ALL

      Currently, the clean up after a chunk migration waits for all cursors to be done before wiping out data.

      Here's a triggering sequence of events:

      shard0: has open cursor on chunk [low1.. high1]
      shard0: moves chunk [low1..high1] to shard1
      shard0: clean up after chunk moved delayed by open cursor
      ...
      shard1: move chunk [low2..high2] to shard0, where [low2..high2] intercepts [low1..high1]
      shard0: close cursor on chunk [low1..high1] while [low2...high2] is migrating
      shard0: cleaning thread for [low1..high1] might touch [low2..high2]

      An example situation is show in auto2.js logging attached (although the last step didn't happen there)

            Assignee:
            eliot Eliot Horowitz (Inactive)
            Reporter:
            alerner Alberto Lerner
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: