-
Bug
-
Resolution: Done
-
Major
-
None
-
None
When we have member(s) which have a view with a dead member as coordinator, when the dead member becomes part of the subgroup coordinators and happens to be chosen as merge leader, then a merge will never ensue.
Example:
- Member 2 (with view 2|5) was the previous coordinator and left the cluster, installing view 3|6 before stopping
- View 2|5={2,3,4,5,6,7}; view 3|6={3,4,5,6,7}
- Member 7 didn't get view 3|6 and still has view 2|5
- Everybody else has view 3|6
- MERGE3 gets the following views:
- 2|5: 7 // member 7 has this view
- 3|6: 3,4,5,6 // members 3,4,5 and 6 have this view
- 2 and 3 are added to a sorted set and the first member of the set (2) is chose as merge leader. 3 doesn't take any action, as it notices it won't be the merge leader
- The reason 2 was first in the sorted set is that (possibly by coincidence) its UUID is lower than that of 3. If this wasn't the case, 3 would be merge leader and start (and successfully complete) a merge. However, with dead member 2 being picked as merge leader, a merge will never be triggered!