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

Shell sharding helpers should use wtimeout and respond appropriately

    • Minor Change
    • Sharding 16 (06/24/16), Sharding 17 (07/15/16)

      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).

            spencer@mongodb.com Spencer Brody (Inactive)
            kevin.pulo@mongodb.com Kevin Pulo
            0 Vote for this issue
            6 Start watching this issue