description: ElectionId is considered higher precedence than setVersion
uri: "mongodb://a/?replicaSet=rs"
phases:
  - responses:
      - - "a:27017"
        - ok: 1
          helloOk: true
          isWritablePrimary: true
          hosts:
            - "a:27017"
            - "b:27017"
          setName: rs
          setVersion: 1
          electionId:
            $oid: "000000000000000000000001"
          minWireVersion: 0
          maxWireVersion: 17
      - - "b:27017"
        - ok: 1
          helloOk: true
          isWritablePrimary: true
          hosts:
            - "a:27017"
            - "b:27017"
          setName: rs
          setVersion: 2 # Even though "B" reports the newer setVersion, "A" will report the newer electionId which should allow it to remain the primary
          electionId:
            $oid: "000000000000000000000001"
          minWireVersion: 0
          maxWireVersion: 17
      - - "a:27017"
        - ok: 1
          helloOk: true
          isWritablePrimary: true
          hosts:
            - "a:27017"
            - "b:27017"
          setName: rs
          setVersion: 1
          electionId:
            $oid: "000000000000000000000002"
          minWireVersion: 0
          maxWireVersion: 17
    outcome:
      servers:
        "a:27017":
          type: RSPrimary
          setName: rs
          setVersion: 1
          electionId:
            $oid: "000000000000000000000002"
        "b:27017":
          type: Unknown
          setName: null
          setVersion: null
          electionId: null
      topologyType: ReplicaSetWithPrimary
      logicalSessionTimeoutMinutes: null
      setName: rs
      maxSetVersion: 1
      maxElectionId:
        $oid: "000000000000000000000002"
