[SERVER-3778] Possible to reconfigure with a majority down before the primary gets demoted Created: 07/Sep/11 Updated: 30/Mar/12 Resolved: 08/Sep/11 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Spencer Brody (Inactive) | Assignee: | Kristina Chodorow (Inactive) |
| Resolution: | Done | Votes: | 0 |
| Labels: | replication | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Operating System: | ALL |
| Participants: |
| Description |
|
Steps to reproduce: Create a replica set with 6 members. Bring down 3 members. Before the primary demotes itself to secondary, reconfig to a configuration that includes the 3 up members and 1 down member. The reconfig will succeed. If you do the same thing but wait for the primary to demote itself to secondary, the reconfig will fail (unless you use force:true). This may not actually be a problem as it seems that the reconfig will only work if it's changing to a configuration that will have a majority. |
| Comments |
| Comment by Kristina Chodorow (Inactive) [ 08/Sep/11 ] |
|
This has always worked this way and would be difficult to change. There's a 2 second window between when the other members are unreachable and the primary knows they're unreachable and demotes itself. The reconfig only allowing reconfig if a new majority is up is also intentional, so people can't reconfig from stuck state to stuck state. |