Package org.infinispan.conflict
Class MergePolicy.UnsupportedMergePolicy
- java.lang.Object
-
- org.infinispan.conflict.MergePolicy.UnsupportedMergePolicy
-
- All Implemented Interfaces:
EntryMergePolicy
- Enclosing class:
- MergePolicy
public static class MergePolicy.UnsupportedMergePolicy extends Object implements EntryMergePolicy
-
-
Constructor Summary
Constructors Constructor Description UnsupportedMergePolicy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.infinispan.container.entries.CacheEntry
merge(org.infinispan.container.entries.CacheEntry preferredEntry, List otherEntries)
This method is called byConflictManager.resolveConflicts()
for each conflict discovered to determine whichCacheEntry
should be utilised.
-
-
-
Method Detail
-
merge
public org.infinispan.container.entries.CacheEntry merge(org.infinispan.container.entries.CacheEntry preferredEntry, List otherEntries)
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.
-
-