[SERVER-17041] Chaining using syncFrom should warn when circular secondary chain is attempted Created: 25/Jan/15  Updated: 06/Dec/22

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

Type: Improvement Priority: Major - P3
Reporter: nuk nuk san Assignee: Backlog - Replication Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File syncFromLoop.js    
Assigned Teams:
Replication
Participants:

 Description   

3 members in a replica set.
Go to secondary1 , rs.syncFrom('secondary2')
Go to secondary 2, rs.syncFrom('secondary1')
Result: replica set now configured such that secondaries sync from each other, none of them from the primary.

This situation is detectable in the status, and at least should produce a warning when attempted "sync target specified appears circular".

Since RS and elections may break this circularity, it may be allowed, but to an unsuspecting user this may cause confusion since the secondaries will "fail" to update.



 Comments   
Comment by Scott Hernandez (Inactive) [ 26/Jan/15 ]

Yes, it might be possible to detect this temporary state but it can only come about due to users/admins taking control of replication paths.

There are many events which will cause the manual sync source to reset and go to a member with fresher data, so in most cases this will self-rectify as writes come in.

Generated at Thu Feb 08 03:43:07 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.