K
- type of the store keyV
- type of the store valueStore
- type of the store in a partitionMergingItem
- type of the merging itempublic abstract class AbstractMergeRunnable<K,V,Store,MergingItem extends MergingEntry<K,V>> extends Object implements Runnable
ICache
, IMap
and ReplicatedMap
to provide a merge runnable
for SplitBrainHandlerService.prepareMergeRunnable()
.Modifier | Constructor and Description |
---|---|
protected |
AbstractMergeRunnable(String serviceName,
Collection<Store> mergingStores,
AbstractSplitBrainHandlerService<Store> splitBrainHandlerService,
NodeEngine nodeEngine) |
Modifier and Type | Method and Description |
---|---|
protected abstract OperationFactory |
createMergeOperationFactory(String dataStructureName,
SplitBrainMergePolicy<V,MergingItem> mergePolicy,
int[] partitions,
List<MergingItem>[] entries)
Returns an
OperationFactory for SplitBrainMergePolicy ,
legacy merge policies don't use this method. |
protected abstract int |
getBatchSize(String dataStructureName)
This batch size can only be used with
SplitBrainMergePolicy ,
legacy merge policies don't support batch data sending. |
protected abstract String |
getDataStructureName(Store store) |
protected abstract InMemoryFormat |
getInMemoryFormat(String dataStructureName) |
protected abstract Object |
getMergePolicy(String dataStructureName) |
protected abstract int |
getPartitionId(Store store) |
protected InternalSerializationService |
getSerializationService() |
protected abstract void |
mergeStore(Store recordStore,
BiConsumer<Integer,MergingItem> consumer)
Used to merge with
SplitBrainMergePolicy . |
protected abstract void |
mergeStoreLegacy(Store recordStore,
BiConsumer<Integer,Operation> consumer)
Used to merge with legacy merge policies.
|
protected void |
onMerge(String dataStructureName) |
protected void |
onRunStart() |
void |
run() |
protected Data |
toData(Object object) |
protected Data |
toHeapData(Object object) |
protected AbstractMergeRunnable(String serviceName, Collection<Store> mergingStores, AbstractSplitBrainHandlerService<Store> splitBrainHandlerService, NodeEngine nodeEngine)
protected void onRunStart()
protected InternalSerializationService getSerializationService()
protected void onMerge(String dataStructureName)
protected abstract void mergeStore(Store recordStore, BiConsumer<Integer,MergingItem> consumer)
SplitBrainMergePolicy
.protected abstract void mergeStoreLegacy(Store recordStore, BiConsumer<Integer,Operation> consumer)
protected abstract int getBatchSize(String dataStructureName)
SplitBrainMergePolicy
,
legacy merge policies don't support batch data sending.MergePolicyConfig
protected abstract Object getMergePolicy(String dataStructureName)
SplitBrainMergePolicy
or a legacy merge policyprotected abstract int getPartitionId(Store store)
protected abstract InMemoryFormat getInMemoryFormat(String dataStructureName)
protected abstract OperationFactory createMergeOperationFactory(String dataStructureName, SplitBrainMergePolicy<V,MergingItem> mergePolicy, int[] partitions, List<MergingItem>[] entries)
OperationFactory
for SplitBrainMergePolicy
,
legacy merge policies don't use this method.Copyright © 2020 Hazelcast, Inc.. All Rights Reserved.