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

Split PRIMARY replset state into PRIMARY and PRIMARY_ELECT

    • Type: Icon: Improvement Improvement
    • Resolution: Won't Do
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Replication
    • Labels:
      None
    • Replication

      When a newly elected primary is in catchup or drain mode, it can't actually take writes. This can be observed by running the isMaster command against the primary and observing that it returns ismaster:false in its response, but that still leaves every other place that just shows the replica set state (i.e. replSetGetStatus, many log messages, MMS monitoring, etc) as just reporting PRIMARY. To make it clear the difference between a primary that can and can't yet take writes, nodes should report themselves as PRIMARY_ELECT until they have fully completed catchup and drain modes and are available for writes.

            Assignee:
            backlog-server-repl [DO NOT USE] Backlog - Replication Team
            Reporter:
            spencer@mongodb.com Spencer Brody (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: