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

A mixed single node & replicaset set sharded cluster can wait for replication on the single node when moving chunks, if secondaryThrottle is enabled

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 2.4.3
    • Component/s: Replication, Sharding
    • None
    • ALL

      If you have a sharded cluster:
      A - a single node
      B - a replicaset of 3 data bearing nodes.

      When performing a moveChunk the secondaryThrottle flag is checked against the target shard and used if there are multiple nodes in the target shard. This setting is used for both the move to the target shard, and the remove from the source shard.

      When moving from A->B

      • The target shard has multiple nodes, so secondaryThrottle is used. I.e. the remove from A is performed with a {w:2} and timeout of 60 seconds, thereby waiting for 60 seconds for each moveChunk.

      Also, when moving from B->A

      • The target shard has only a single node, so no secondaryThrottle is used. I.e. the remove from B does not wait for replication, though that may be what is intended.

      This can cause large delays.

            Assignee:
            randolph@mongodb.com Randolph Tan
            Reporter:
            alan.spencer Alan Spencer
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: