[SERVER-46345] Remove 'newlyAdded' field on heartbeats indicating a node left initial sync Created: 24/Feb/20  Updated: 29/Oct/23  Resolved: 02/Apr/20

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 4.7.0

Type: Task Priority: Major - P3
Reporter: Judah Schvimer Assignee: Judah Schvimer
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Sprint: Repl 2020-03-09, Repl 2020-03-23, Repl 2020-04-06
Participants:

 Description   

When the primary receives a heartbeat response with a ‘state’ field that is SECONDARY, RECOVERING, or ROLLBACK, it will check if ‘newlyAdded’ is present for the responding node. If ‘newlyAdded’ is present, the primary will initiate a safe reconfig:

  1. The reconfig will increment the ‘configVersion’ by 1 and remove the corresponding ‘newlyAdded’ field.
  2. If a concurrent reconfig occurs, it will have a ‘configVersion’ greater than or equal to the one chosen.
    1. If equal, whichever reconfig came second will error and be forced to retry with a higher ‘configVersion’.
  3. This reconfig will be on a best-effort basis. If it fails, the reconfig will be retried on the next heartbeat response.

Nodes should log automatic reconfigs they perform.
They should log any errors they receive when performing those reconfigs.



 Comments   
Comment by Githook User [ 02/Apr/20 ]

Author:

{'name': 'Judah Schvimer', 'email': 'judah@mongodb.com', 'username': 'judahschvimer'}

Message: SERVER-46345 Remove newlyAdded field on heartbeats that indicate a node left initial sync
Branch: master
https://github.com/mongodb/mongo/commit/b040399238a9450ac1713c5cf7269145074d1fab

Generated at Thu Feb 08 05:11:12 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.