public interface EntryMergePolicy<K,V>
Modifier and Type | Method and Description |
---|---|
CacheEntry<K,V> |
merge(CacheEntry<K,V> preferredEntry,
List<CacheEntry<K,V>> otherEntries)
This method is called by
ConflictManager.resolveConflicts() for each conflict discovered to determine
which CacheEntry should be utilised. |
CacheEntry<K,V> merge(CacheEntry<K,V> preferredEntry, List<CacheEntry<K,V>> otherEntries)
ConflictManager.resolveConflicts()
for each conflict discovered to determine
which CacheEntry
should be utilised. This merge policy is used when a user explicitly calls ConflictManager.resolveConflicts()
as well as when a partition merge occurs with PartitionHandling.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.preferredEntry
- During a partition merge, the preferred entry is the entry that belongs to the preferred partition.
If multiple entries exist in the preferred partition, then the preferred entry is the primary
owner in the preferred partition. If no entry exists in the preferred partition, then the
preferredEntry is null.
During a non-merge call to ConflictManager.resolveConflicts()
, the preferredEntry is
simply the primary owner of an entryotherEntries
- a List
of all other CacheEntry
associated with a given Key.CacheEntry
to be utilised across the cluster, or null if all entries for a key should be
removed.Copyright © 2018 JBoss, a division of Red Hat. All rights reserved.