Bird
Raised Fist0
MongoDBquery~10 mins

Primary and secondary nodes in MongoDB - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Primary and secondary nodes
Start: Replica Set Initiated
↓
Elect Primary Node
↓
Primary Accepts Writes
↓
Primary Replicates Data
↓
Secondary Nodes Receive Data
↓
Secondaries Serve Reads (optional)
↓
If Primary Fails
↓
Election: New Primary Chosen
↓
Continue Operations
The replica set starts, elects a primary node that handles writes and replicates data to secondary nodes, which can serve reads. If the primary fails, a new primary is elected to keep the system running.
Execution Sample
MongoDB
rs.initiate()
rs.status()
rs.stepDown()
rs.freeze(0)
Commands to start a replica set, check status, force primary to step down, and unfreeze nodes for election.
Execution Table
StepActionPrimary NodeSecondary NodesResult
1Initiate replica setNoneNoneReplica set starts, no primary yet
2Elect primary nodeNode ANodes B, CNode A becomes primary, others secondary
3Primary accepts writeNode ANodes B, CData written to primary
4Primary replicates dataNode ANodes B, CSecondaries replicate data from primary
5Secondaries serve readsNode ANodes B, CSecondaries can serve read requests
6Primary failsNode A (down)Nodes B, CPrimary node goes down
7Election for new primaryNode BNode CNode B elected as new primary
8Operations continueNode BNode CWrites and replication continue with new primary
💡 Replica set maintains availability by electing new primary if current primary fails
Variable Tracker
VariableStartAfter Step 2After Step 6After Step 7Final
Primary NodeNoneNode ANode A (down)Node BNode B
Secondary NodesNoneNodes B, CNodes B, CNodes CNodes C
Data ConsistencyN/AConsistentConsistentConsistentConsistent
Key Moments - 3 Insights
Why does the replica set need to elect a primary node?
Because only the primary node accepts write operations and replicates data to secondaries, ensuring data consistency. See execution_table step 2 where Node A becomes primary.
What happens to writes when the primary node fails?
Writes cannot be accepted until a new primary is elected. Execution_table step 6 shows primary down, and step 7 shows election of new primary Node B.
Can secondary nodes serve read requests?
Yes, secondary nodes can serve reads to reduce load on primary, as shown in execution_table step 5.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, which node is the primary after step 7?
ANode A
BNode C
CNode B
DNo primary
💡 Hint
Check the 'Primary Node' column at step 7 in execution_table
At which step does the primary node fail?
AStep 4
BStep 6
CStep 5
DStep 7
💡 Hint
Look for 'Primary fails' action in execution_table
If the primary node is down, what must happen before writes can continue?
AA new primary must be elected
BSecondaries serve writes immediately
CReplica set shuts down
DPrimary node restarts automatically
💡 Hint
Refer to execution_table steps 6 and 7 about primary failure and election
Concept Snapshot
Primary and secondary nodes in MongoDB replica sets:
- Primary node handles all writes and replicates data.
- Secondary nodes replicate data and can serve reads.
- If primary fails, secondaries hold election to choose new primary.
- This ensures high availability and data consistency.
- Use rs.initiate(), rs.status(), rs.stepDown() to manage nodes.
Full Transcript
In MongoDB replica sets, one node is elected as primary to accept writes and replicate data to secondary nodes. Secondary nodes replicate data from the primary and can serve read requests to balance load. If the primary node fails, the replica set automatically holds an election to choose a new primary, ensuring continuous availability. Commands like rs.initiate() start the replica set, rs.status() shows current node roles, and rs.stepDown() forces the primary to step down to test failover. This process keeps data consistent and the database available even if some nodes fail.

Practice

(1/5)
1. Which statement best describes the role of a primary node in a MongoDB replica set?
easy
A. It acts as a backup and does not participate in replication.
B. It only reads data and never accepts writes.
C. It accepts write operations and replicates data to secondary nodes.
D. It is used only for analytics and reporting.

Solution

  1. Step 1: Understand the primary node's function

    The primary node is the main server that accepts all write operations in a replica set.
  2. Step 2: Role in replication

    The primary replicates data changes to secondary nodes to keep data consistent.
  3. Final Answer:

    It accepts write operations and replicates data to secondary nodes. -> Option C
  4. Quick Check:

    Primary node = accepts writes and replicates [OK]
Hint: Primary node handles writes; secondaries replicate [OK]
Common Mistakes:
  • Thinking primary only reads data
  • Confusing secondary with primary roles
  • Assuming primary is just a backup
2. Which of the following is the correct command to check the status of a MongoDB replica set?
easy
A. replica.status()
B. db.replicaStatus()
C. show replicaSet
D. rs.status()

Solution

  1. Step 1: Recall MongoDB replica set commands

    The command rs.status() is used to check the status of the replica set.
  2. Step 2: Verify other options

    Other options are not valid MongoDB shell commands for replica set status.
  3. Final Answer:

    rs.status() -> Option D
  4. Quick Check:

    Replica set status command = rs.status() [OK]
Hint: Use rs.status() to check replica set health [OK]
Common Mistakes:
  • Using incorrect or non-existent commands
  • Confusing database commands with replica set commands
  • Typing commands with wrong syntax
3. Given a replica set with one primary and two secondary nodes, what will happen if the primary node goes down?
medium
A. The replica set will stop all read and write operations immediately.
B. One of the secondary nodes will be elected as the new primary.
C. The primary node will automatically restart without intervention.
D. All secondary nodes will become primary nodes simultaneously.

Solution

  1. Step 1: Understand replica set failover

    If the primary node fails, the replica set automatically elects a new primary from the secondaries.
  2. Step 2: Check other options

    The replica set does not stop all operations; it does not restart primary automatically; multiple primaries cannot exist simultaneously.
  3. Final Answer:

    One of the secondary nodes will be elected as the new primary. -> Option B
  4. Quick Check:

    Failover elects new primary from secondaries [OK]
Hint: Replica sets auto-elect new primary if current fails [OK]
Common Mistakes:
  • Thinking all nodes become primary
  • Assuming system stops all operations
  • Believing primary restarts automatically
4. You run rs.stepDown() on the primary node but get an error saying "not primary". What is the likely cause?
medium
A. The node is already a secondary, not primary.
B. The command syntax is incorrect.
C. The replica set has only one node.
D. The network connection to the primary is lost.

Solution

  1. Step 1: Understand rs.stepDown() usage

    This command only works on a primary node to force it to step down.
  2. Step 2: Analyze the error message

    "not primary" means the node is already a secondary, so it cannot step down.
  3. Final Answer:

    The node is already a secondary, not primary. -> Option A
  4. Quick Check:

    rs.stepDown() error "not primary" = node is secondary [OK]
Hint: rs.stepDown() only works on primary nodes [OK]
Common Mistakes:
  • Trying to step down a secondary node
  • Assuming syntax error causes this message
  • Ignoring the node's current role
5. You want to configure a MongoDB replica set with one primary and two secondaries. Which of the following configurations ensures data safety and availability during a primary failure?
hard
A. Set all nodes with priority 1 and enable majority write concern.
B. Set one secondary with priority 0 and disable write concern.
C. Use only one node as primary without secondaries.
D. Set all nodes with priority 0 to prevent elections.

Solution

  1. Step 1: Understand priority and write concern

    Setting all nodes with priority 1 allows any secondary to become primary if needed. Majority write concern ensures writes are acknowledged by most nodes.
  2. Step 2: Evaluate other options

    Priority 0 disables election for that node; disabling write concern risks data loss; single node has no failover; priority 0 on all nodes prevents elections.
  3. Final Answer:

    Set all nodes with priority 1 and enable majority write concern. -> Option A
  4. Quick Check:

    Priority 1 + majority write concern = safe failover [OK]
Hint: Use priority 1 and majority write concern for safety [OK]
Common Mistakes:
  • Disabling write concern risking data loss
  • Setting priority 0 disables elections
  • Using single node without replicas
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard