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

Split Chunk operation is not idempotent

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

      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:
            backlog-server-sharding [DO NOT USE] Backlog - Sharding Team
            Reporter:
            sergi.mateo-bellido@mongodb.com Sergi Mateo Bellido
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: