Hidden and priority-0 members during maintenance
Parent: Rolling index builds · Published reference · snapshot 2026-10-31
↓ Facts as markdownall context files
Source-anchored research for Hidden and priority-0 members during maintenance. Run status: COMPLETED.
These notes link each claim to its source. Some citations identify archived research reports that are no longer hosted on this site. A published reference means the content is available; it does not certify independent review or accuracy.Read the editorial policy and follow the sources before relying on a claim.
How it works
- Priority 0 alone does not hide a member or disable its vote. Such secondaries can serve reads and, when votes is enabled, participate in elections; non-voting members must also have priority 0. (medium confidence) [source]
- The documented replica-set rolling procedure sets the target secondary to priority 0 and hidden, then builds locally with the process restarted as a standalone on another port. Hiding the member alone does not perform that isolation. (medium confidence) [source]
- Before maintenance, record each target member’s original configuration. The MongoDB procedure explicitly saves originalPriority; preserving a pre-existing hidden role when adapting its unhide step is an operational inference, because the example assumes a temporarily hidden secondary. (medium confidence) [source]
- Plan priority changes inside a maintenance window: rs.reconfig can cause a primary stepdown and election. Inspect member configuration and replication health before deliberately stepping down the primary. (medium confidence) [source]
Problems, failure modes and limitations
- A hidden member must have priority 0 and cannot become primary. Hidden members are absent from hello discovery; ordinary replica-set connections do not route reads to them, although a direct connection can read them. (medium confidence) [source]
- Before stopping a hidden voting member, preserve an active voting majority. Also verify that a remaining member is eligible to become primary: a majority consisting only of ineligible members cannot provide a replacement primary. (medium confidence) [source]
Facts and statements
- After the local build, restore replica-set startup settings and the original port, remove disableLogicalSessionCacheRefresh, and let replication catch up before restoring the documented priority/visibility settings or moving to another member. (medium confidence) [source]
- For the two-phase replica-set build protocol, the default commit quorum includes every voting data-bearing member. Combined with the fact that hidden members may vote, a hidden voting member can still be required for build commitment; hiding it does not bypass commit quorum. (medium confidence) (verified as of 2026-10-31) [source]
- MongoDB’s rolling procedure warns against concurrent rolling and replicated index builds. A field incident in SERVER-56976 and occurrences recorded in SERVER-71769 show why incomplete rolling work needs investigation: a secondary that already had the index skipped the build and its quorum vote, leaving the primary waiting. These reports describe historical behavior. (medium confidence) [source]
- SERVER-56976 reports that setIndexCommitQuorum itself failed to wake an already-waiting build in the affected releases. The ticket records fixes in 4.4.7, 5.0.0-rc0 and 5.1.0-rc0; do not assume a historical quorum workaround works identically across versions. (low confidence) [source]
- [redacted] proposed a command that would protect electability, step down a primary, hide or isolate the target, build indexes and restore its role. The text is a feature proposal, not evidence that hiding replaces the documented standalone restart. (medium confidence) [source]
- Allow enough oplog history for standalone build time and replication catch-up. For a unique index built through the rolling procedure, stop collection writes for the procedure; hiding a member does not make concurrent writes safe. (medium confidence) [source]
Children
- No children recorded.