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

Find command on mongod needs to wait until out of critical section on shard version errors

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.1.9
    • Component/s: Sharding
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Sprint:
      QuInt A (10/12/15)

      Description

      If a find command comes in to a shard while that shard is in the critical section donating its chunk away, it will throw a shard version error because the version that came in from mongos on the find command won't match the in-memory version that was bumped when we entered the critical section.

      Currently it will return a shard version error, which will cause the mongos to retry, but the retry could end the same way if the shard still hasn't left the critical section. Instead of returning immediately returning a shard version error, it should do what write commands and setShardVersion does and block until the critical section ends before returning the stale version error.

        Attachments

          Activity

            People

            Assignee:
            misha.tyulenev Misha Tyulenev
            Reporter:
            spencer Spencer Brody (Inactive)
            Participants:
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: