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.MergePolicyConfigprotected 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 © 2022 Hazelcast, Inc.. All Rights Reserved.