Package org.infinispan.conflict
Class MergePolicy.UnsupportedMergePolicy
java.lang.Object
org.infinispan.conflict.MergePolicy.UnsupportedMergePolicy
- All Implemented Interfaces:
EntryMergePolicy
- Enclosing class:
MergePolicy
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionmerge
(CacheEntry preferredEntry, List otherEntries) This method is called byConflictManager.resolveConflicts()
for each conflict discovered to determine whichCacheEntry
should be utilised.
-
Constructor Details
-
UnsupportedMergePolicy
public UnsupportedMergePolicy()
-
-
Method Details
-
merge
Description copied from interface:EntryMergePolicy
This method is called byConflictManager.resolveConflicts()
for each conflict discovered to determine whichCacheEntry
should be utilised. This merge policy is used when a user explicitly callsConflictManager.resolveConflicts()
as well as when a partition merge occurs withPartitionHandling.ALLOW_READ_WRITES
set. In the event of a partition merge, we define the preferred partition as the partition whom's coordinator is coordinating the current merge.- Specified by:
merge
in interfaceEntryMergePolicy
- Parameters:
preferredEntry
- During a partition merge, the preferredEntry is the primary replica of a CacheEntry stored in the partition that contains the most nodes or if partitions are equal the one with the largest topologyId. In the event of overlapping partitions, i.e. a node A is present in the topology of both partitions {A}, {A,B,C}, we pick {A} as the preferred partition as it will have the higher topologId because the other partition's topology is behind. During a non-merge call toConflictManager.resolveConflicts()
, the preferredEntry is simply the primary owner of an entryotherEntries
- aList
of all otherCacheEntry
associated with a given Key.- Returns:
- the winning
CacheEntry
to be utilised across the cluster, or null if all entries for a key should be removed.
-