[SERVER-14744] Stop sending replSetUpdatePosition commands with entries for removed members Created: 31/Jul/14 Updated: 10/Dec/14 Resolved: 08/Oct/14 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Spencer Brody (Inactive) | Assignee: | Spencer Brody (Inactive) |
| Resolution: | Duplicate | Votes: | 1 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Participants: | |||||||||
| Description |
|
We maintain a map of RIDs to their oplog progress which we use when generating replSetUpdatePosition commands to update our upstream sync source. We don't currently clear that map on reconfig, which means if a node is removed then every time we send a replSetUpdatePosition command it will include an entry for the last known optime of the removed node, forever. Instead, we should clear the map on reconfigs and trigger a new handshake and replSetUpdatePosition command upstream, so everyone has an up-to-date view of the progress of the members in the set, and just the members still in the set. |
| Comments |
| Comment by Spencer Brody (Inactive) [ 08/Oct/14 ] |
|
Fixed via |