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

Arbiters in pv1 should vote no in elections if they can see a healthy primary of equal or greater priority to the candidate

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.2.12, 3.4.2, 3.5.2
    • Component/s: Replication
    • Labels:
      None

      Description

      Currently in pv1, the use of arbiters can result in unnecessary flapping during certain kinds of network partitions. Imagine a 3 node replica set with 2 data bearing members and 1 arbiter. If the data bearing members become isolated from each other, but the arbiter can see both, then whichever node is not primary will call for an election and win, the arbiter will transmit the term change to the old primary, which will step down, and then a few seconds later it will call for a new election, which it too shall win, on and on. You wind up with the primary changing every few seconds. Implementing this ticket will prevent that scenario, at the cost of slower failovers for all failovers when using arbiters.

        Issue Links

          Activity

          Hide
          milkie Eric Milkie added a comment -

          I think this will mess up priority takeover in 3 node sets.

          Show
          milkie Eric Milkie added a comment - I think this will mess up priority takeover in 3 node sets.
          Hide
          spencer Spencer T Brody added a comment -

          Eric Milkie - I updated the title to account for priorities - does that sound safe to you now?

          Show
          spencer Spencer T Brody added a comment - Eric Milkie - I updated the title to account for priorities - does that sound safe to you now?
          Hide
          milkie Eric Milkie added a comment -

          It should work, but it will increase failover time. That can be solved via documentation, however.

          Show
          milkie Eric Milkie added a comment - It should work, but it will increase failover time. That can be solved via documentation, however.
          Hide
          xgen-internal-githook Githook User added a comment -

          Author:

          {u'username': u'jsmulrow', u'name': u'Jack Mulrow', u'email': u'jack.mulrow@mongodb.com'}

          Message: SERVER-27125 Arbiters in PV1 vote no if they can see a healthy primary of equal or greater priority to the candidate
          Branch: master
          https://github.com/mongodb/mongo/commit/eef6335bbc0eedeb6f50120164ca0f198fb94303

          Show
          xgen-internal-githook Githook User added a comment - Author: {u'username': u'jsmulrow', u'name': u'Jack Mulrow', u'email': u'jack.mulrow@mongodb.com'} Message: SERVER-27125 Arbiters in PV1 vote no if they can see a healthy primary of equal or greater priority to the candidate Branch: master https://github.com/mongodb/mongo/commit/eef6335bbc0eedeb6f50120164ca0f198fb94303
          Hide
          xgen-internal-githook Githook User added a comment -

          Author:

          {u'username': u'visualzhou', u'name': u'Siyuan Zhou', u'email': u'siyuan.zhou@mongodb.com'}

          Message: Revert "SERVER-27125 Arbiters in PV1 vote no if they can see a healthy primary of equal or greater priority to the candidate"

          This reverts commit eef6335bbc0eedeb6f50120164ca0f198fb94303.
          Branch: master
          https://github.com/mongodb/mongo/commit/c169d7bfd38abb845dfa5369a43781742d957d72

          Show
          xgen-internal-githook Githook User added a comment - Author: {u'username': u'visualzhou', u'name': u'Siyuan Zhou', u'email': u'siyuan.zhou@mongodb.com'} Message: Revert " SERVER-27125 Arbiters in PV1 vote no if they can see a healthy primary of equal or greater priority to the candidate" This reverts commit eef6335bbc0eedeb6f50120164ca0f198fb94303. Branch: master https://github.com/mongodb/mongo/commit/c169d7bfd38abb845dfa5369a43781742d957d72
          Hide
          siyuan.zhou Siyuan Zhou added a comment -

          Jack Mulrow, I reverted this commit since it failed on replicasets_legacy test suite.

          Show
          siyuan.zhou Siyuan Zhou added a comment - Jack Mulrow , I reverted this commit since it failed on replicasets_legacy test suite.
          Hide
          xgen-internal-githook Githook User added a comment -

          Author:

          {u'username': u'jsmulrow', u'name': u'Jack Mulrow', u'email': u'jack.mulrow@mongodb.com'}

          Message: SERVER-27125 Arbiters in PV1 vote no if they can see a healthy primary of equal or greater priority to the candidate
          Branch: master
          https://github.com/mongodb/mongo/commit/97718a410d3d40f5c3f01dfae76e7ddd910897af

          Show
          xgen-internal-githook Githook User added a comment - Author: {u'username': u'jsmulrow', u'name': u'Jack Mulrow', u'email': u'jack.mulrow@mongodb.com'} Message: SERVER-27125 Arbiters in PV1 vote no if they can see a healthy primary of equal or greater priority to the candidate Branch: master https://github.com/mongodb/mongo/commit/97718a410d3d40f5c3f01dfae76e7ddd910897af
          Hide
          xgen-internal-githook Githook User added a comment -

          Author:

          {u'username': u'jsmulrow', u'name': u'Jack Mulrow', u'email': u'jack.mulrow@mongodb.com'}

          Message: SERVER-27125 Arbiters in PV1 vote no if they can see a healthy primary of equal or greater priority to the candidate

          (cherry picked from commit 97718a410d3d40f5c3f01dfae76e7ddd910897af)
          Branch: v3.4
          https://github.com/mongodb/mongo/commit/dd491eeb54933e88361658ca7d589126397bd289

          Show
          xgen-internal-githook Githook User added a comment - Author: {u'username': u'jsmulrow', u'name': u'Jack Mulrow', u'email': u'jack.mulrow@mongodb.com'} Message: SERVER-27125 Arbiters in PV1 vote no if they can see a healthy primary of equal or greater priority to the candidate (cherry picked from commit 97718a410d3d40f5c3f01dfae76e7ddd910897af) Branch: v3.4 https://github.com/mongodb/mongo/commit/dd491eeb54933e88361658ca7d589126397bd289
          Hide
          xgen-internal-githook Githook User added a comment -

          Author:

          {u'username': u'jsmulrow', u'name': u'Jack Mulrow', u'email': u'jack.mulrow@mongodb.com'}

          Message: SERVER-27125 Arbiters in PV1 vote no if they can see a healthy primary of equal or greater priority to the candidate

          (cherry picked from commit 97718a410d3d40f5c3f01dfae76e7ddd910897af)
          Branch: v3.2
          https://github.com/mongodb/mongo/commit/ef3e1bc78e997f0d9f22f45aeb1d8e3b6ac14a14

          Show
          xgen-internal-githook Githook User added a comment - Author: {u'username': u'jsmulrow', u'name': u'Jack Mulrow', u'email': u'jack.mulrow@mongodb.com'} Message: SERVER-27125 Arbiters in PV1 vote no if they can see a healthy primary of equal or greater priority to the candidate (cherry picked from commit 97718a410d3d40f5c3f01dfae76e7ddd910897af) Branch: v3.2 https://github.com/mongodb/mongo/commit/ef3e1bc78e997f0d9f22f45aeb1d8e3b6ac14a14

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                  Agile