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

db.isMaster() reporting true for both arbiterOnly and passive (under certain configs)

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Minor - P4 Minor - P4
    • 1.9.2
    • Affects Version/s: 1.9.0
    • Component/s: Replication
    • None
    • ALL

      When a replica set member is configured with both arbiterOnly and priority = 0 (admittedly a weird combination), then db.isMaster() on the arbiter reports true for both arbiterOnly and passive.

      Here's the replica set config:

      myset:PRIMARY> rs.conf()
      {
      "_id" : "myset",
      "version" : 1,
      "members" : [

      { "_id" : 0, "host" : "Kilimanjaro:10001" }

      ,

      { "_id" : 1, "host" : "Kilimanjaro:10002" }

      ,

      { "_id" : 2, "host" : "Kilimanjaro:10003", "priority" : 0, "arbiterOnly" : true }

      ]
      }
      myset:PRIMARY>

      Here's the result db.isMaster() on the arbiter:

      myset:ARBITER> db.isMaster()
      {
      "setName" : "myset",
      "ismaster" : false,
      "secondary" : false,
      "hosts" : [
      "Kilimanjaro:10002",
      "Kilimanjaro:10001"
      ],
      "arbiters" : [
      "Kilimanjaro:10003"
      ],
      "primary" : "Kilimanjaro:10001",
      "arbiterOnly" : true,
      "passive" : true,
      "maxBsonObjectSize" : 16777216,
      "ok" : 1
      }
      myset:ARBITER>

      The following four properties reported by db.isMaster() should probably be mutually exclusive:

      ismaster
      secondary
      arbiterOnly
      passive

            Assignee:
            kristina Kristina Chodorow (Inactive)
            Reporter:
            robert@mongodb.com Robert Stam
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: