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

Shell sharding helpers should use wtimeout and respond appropriately

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.2.9, 3.3.10
    • Component/s: Sharding, Shell
    • Labels:
    • Backwards Compatibility:
      Minor Change
    • Backport Completed:
    • Sprint:
      Sharding 16 (06/24/16), Sharding 17 (07/15/16)

      Description

      The following shell sharding helpers use a write concern of w:majority, but do not specify a wtimeout:

      • sh.setBalancerState
      • sh.disableBalancing
      • sh.enableBalancing
      • sh.addShardTag
      • sh.removeShardTag
      • sh.addTagRange
      • sh.removeTagRange

      This means that users get no feedback if the operations are slow to propagate to a majority of config servers.

      Simply adding a wtimeout (eg. 30 or 60s) causes the shell helpers to apparently fail if they take too long. In addition to potentially confusing users, this causes spurious jstest failures.

      The shell helpers should specify a reasonably low wtimeout (eg. 10s), and then if the operation has timed out due to wtimeout, the shell helper should react accordingly, ie. output a message to notify the user what has happened, and commence polling to determine when the write has gone through to a majority (eg. call GLE, if possible, or do appropriate readConcern majority reads).

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: