, the A and B are identified as candidates for merge leaders. When sort(A,B) --> A, everything is fine, as A.merge() will trigger a merge, since A is a coordinator. However, if it happens to be B, B.merge() is a no-op, as B is not a coordinator.
This means, if B is supposed to be merge leader, B will never trigger a merge, and neither will A as A thinks B will lead the merge.
If we have
, the A and B are identified as candidates for merge leaders. When sort(A,B) --> A, everything is fine, as A.merge() will trigger a merge, since A is a coordinator. However, if it happens to be B, B.merge() is a no-op, as B is not a coordinator.
This means, if B is supposed to be merge leader, B will never trigger a merge, and neither will A as A thinks B will lead the merge.
Suggested solution: