[
https://issues.jboss.org/browse/JGRP-1910?page=com.atlassian.jira.plugin....
]
Radim Vansa commented on JGRP-1910:
-----------------------------------
Views should be partially ordered, the concrete technique (parent UUIDs or GCed graph
etc...) is an implementation detail. If merge leader has seen views from several nodes,
then the new view should be ordered after those views. If a node receives view that is not
ordered after its current view, it should reject it and wait until it receives correct
one. Blindly accepting any view that knocks on the door is not a good option for
Infinispan.
MERGE3: Do not lose any members from view during a series of merges
-------------------------------------------------------------------
Key: JGRP-1910
URL:
https://issues.jboss.org/browse/JGRP-1910
Project: JGroups
Issue Type: Bug
Reporter: Radim Vansa
Assignee: Bela Ban
Fix For: 3.6.3
Attachments: SplitMergeFailFastTest.java, SplitMergeTest.java
When connection between nodes is re-established, MERGE3 should merge the cluster
together. This often does not involve a single MergeView but a series of such events. The
problematic property of this protocol is that some of those views can lack certain
members, though these are reachable.
This causes problem in Infinispan since the cache cannot be fully rebalanced before
another merge arrives, and all owners of certain segment can be gradually removed (and
added again) to the view, while this is not detected as partition but crashed nodes ->
losing all owners means data loss.
Removing members from view should be the role of FDx protocols, not MERGEx.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)