<!-- llms-explorer concept facts · https://llms-explorer.com/tree/hidden-and-priority-0-members-during-maintenance/ · pack 2026-10-31 · ~1177 tokens -->

# Hidden and priority-0 members during maintenance

> Source-anchored research for Hidden and priority-0 members during maintenance. Run status: COMPLETED.

Parent: [Rolling index builds](https://llms-explorer.com/tree/rolling-index-builds/) · 3 facets · 12 facts · page: https://llms-explorer.com/tree/hidden-and-priority-0-members-during-maintenance/

## 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](https://www.mongodb.com/docs/manual/core/replica-set-priority-0-member.md)
- 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](https://www.mongodb.com/docs/manual/tutorial/build-indexes-on-replica-sets.md)
- 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](https://www.mongodb.com/docs/manual/tutorial/build-indexes-on-replica-sets.md)
- 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](https://www.mongodb.com/docs/manual/tutorial/adjust-replica-set-member-priority.md)

## 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](https://www.mongodb.com/docs/manual/core/replica-set-hidden-member.md)
- 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](https://www.mongodb.com/docs/manual/core/replica-set-hidden-member.md)

## 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](https://www.mongodb.com/docs/manual/tutorial/build-indexes-on-replica-sets.md)
- 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](https://github.com/mongodb/mongo/blob/master/src/mongo/db/index_builds/README.md)
- 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](https://www.mongodb.com/docs/manual/tutorial/build-indexes-on-replica-sets.md)
- 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](https://jira.mongodb.org/browse/SERVER-56976)
- [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: `archived:private-reference`
- 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](https://www.mongodb.com/docs/manual/tutorial/build-indexes-on-replica-sets.md)
