Split Chunk operation is not idempotent

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Won't Fix
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Sharding
    • None
    • Sharding
    • 24
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Right now we assume that the split chunk operation on the config server is idempotent , but in fact it is not: depending on where we fail, we may be able to recover from it or not.

      The commitChunkSplit method triggered by a _configsvrCommitChunkSplit command is executing the following steps:
      1) Apply the batch of chunk updates
      2) Execute getShardAndCollectionVersion - resulting in an exhaustive on the config primary.

      If a stepdown happens right after 1 and before 2, the operation will be retried (at most 3 times) and will fail, even though the splitChunk technically happened upon the first applyChunkOpsDeprecated successful execution.

              Assignee:
              [DO NOT USE] Backlog - Sharding Team
              Reporter:
              Sergi Mateo Bellido
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: