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

Cached minor shard version does not match that of the persistent config metadata after moveChunk

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Minor - P4 Minor - P4
    • 3.3.10
    • Affects Version/s: 3.0.11, 3.2.4, 3.3.4
    • Component/s: Sharding
    • Labels:
      None
    • Fully Compatible
    • ALL
    • Sharding 15 (06/03/16), Sharding 16 (06/24/16), Sharding 17 (07/15/16)

      After the moveChunk command is run on a shard it will first bump the major version of the chunk it donated to a value that's greater than all chunks in the collection. When the migration completes, it will will bump both the major and minor versions of one other chunk in order to indicate to incoming requests that it no longer owns the donated chunk.

      Because of the way the metadata cache is maintained, even though we write the new chunk version to the metadata, it does not get reflected in the shard's metadata cache. The problem is reproduced by the attached .js test, which runs split/move/mergeChunk commands and compares the cached metadata against what is written on the server and this test fails at the moveChunk step.

      This does not constitute an actual correctness problem, because minor shard version differences do not require retargeting, but is confusing when inspecting the cached metadata state, so we should fix it.

      The bug is reproducible in 3.0, 3.2 and 3.3.

            Assignee:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Reporter:
            kaloian.manassiev@mongodb.com Kaloian Manassiev
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: