[
https://issues.jboss.org/browse/ISPN-6688?page=com.atlassian.jira.plugin....
]
Dan Berindei resolved ISPN-6688.
--------------------------------
Fix Version/s: 9.2.1.Final
Resolution: Won't Fix
Turns out mixing owners is not really feasible when conflict resolution is not enabled.
Because partitions always stay available, during a merge all partition CHs will include
owners for all the segments. Keeping all the owners in the CH only works with conflict
resolution, otherwise most nodes will either see the value on the primary owner or the
value they have locally, ignoring all the other owners.
In theory we could include the number of entries per segment in the cluster recovery
response, and select the node with the most entries as the primary owner, but we'd
need to clear all other owners and fetch the entries from the primary. So it would end up
almost as expensive as conflict resolution, riskier (if the primary owner crashes after
clearing the other owners), and not that much better than selecting an existing CH.
PreferAvailabilityStrategy: Improve selection of segment owners after
merge
---------------------------------------------------------------------------
Key: ISPN-6688
URL:
https://issues.jboss.org/browse/ISPN-6688
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 8.2.2.Final
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 9.2.1.Final
{{PreferAvailabilityStrategy}} picks a winning CH after merge, but that CH is very likely
to be the wrong one. We should improve our odds at preserving cache data by mixing CHs,
and keeping from each node's response only the information about the segments it owns
itself.
The downside is that {{PreferAvailabilityStrategy}} becomes tightly coupled with
{{DefaultConsistentHash}}/{{ReplicatedConsistentHash}}, and users that want to add custom
{{ConsistentHash}} implementations will have to re-implement
{{PreferAvailabilityStrategy}}.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)