public class MapReduceManagerImpl extends java.lang.Object implements MapReduceManager
MapReduceManager
.
This is an internal class, not intended to be used by clients.
Modifier and Type | Class and Description |
---|---|
private static interface |
MapReduceManagerImpl.CollectableCollector<K,V> |
private class |
MapReduceManagerImpl.DataContainerTask<K,V> |
private static class |
MapReduceManagerImpl.DefaultCollector<KOut,VOut> |
private static class |
MapReduceManagerImpl.DeltaAwareList<E> |
static class |
MapReduceManagerImpl.IntermediateCompositeKey<V>
IntermediateCompositeKey
|
private static class |
MapReduceManagerImpl.IntermediateKeyFilter<T> |
private class |
MapReduceManagerImpl.MapCombineTask<K,V,KOut,VOut>
This is the parallel staggered map/combine algorithm.
|
Modifier and Type | Field and Description |
---|---|
private org.infinispan.manager.EmbeddedCacheManager |
cacheManager |
private org.infinispan.interceptors.locking.ClusteringDependentLogic |
cdl |
private int |
chunkSize |
private java.util.concurrent.ExecutorService |
executorService |
private static org.infinispan.util.logging.Log |
log |
private org.infinispan.persistence.manager.PersistenceManager |
persistenceManager |
private org.infinispan.util.TimeService |
timeService |
Constructor and Description |
---|
MapReduceManagerImpl() |
Modifier and Type | Method and Description |
---|---|
protected <KIn,VIn,KOut,VOut> |
combine(org.infinispan.commands.read.MapCombineCommand<KIn,VIn,KOut,VOut> mcc,
java.util.Map<KOut,java.util.List<VOut>> collectedValues) |
protected <KIn> java.util.Set<KIn> |
filterLocalPrimaryOwner(java.util.Set<KIn> nodeLocalKeys,
org.infinispan.distribution.DistributionManager dm) |
java.util.concurrent.ExecutorService |
getExecutorService()
ExecutorService provided for local task execution
|
void |
init(org.infinispan.manager.EmbeddedCacheManager cacheManager,
org.infinispan.persistence.manager.PersistenceManager persistenceManager,
java.util.concurrent.ExecutorService asyncTransportExecutor,
org.infinispan.interceptors.locking.ClusteringDependentLogic cdl,
org.infinispan.util.TimeService timeService,
Configuration configuration) |
protected <KIn,VIn,KOut,VOut> |
map(org.infinispan.commands.read.MapCombineCommand<KIn,VIn,KOut,VOut> mcc) |
protected <KIn,VIn,KOut,VOut> |
mapAndCombine(org.infinispan.commands.read.MapCombineCommand<KIn,VIn,KOut,VOut> mcc) |
<KIn,VIn,KOut,VOut> |
mapAndCombineForDistributedReduction(org.infinispan.commands.read.MapCombineCommand<KIn,VIn,KOut,VOut> mcc)
Invoked when MapCombineCommand arrives to a target Infinispan node and returns set of
intermediate keys that needs to be reduced.
|
<KIn,VIn,KOut,VOut> |
mapAndCombineForLocalReduction(org.infinispan.commands.read.MapCombineCommand<KIn,VIn,KOut,VOut> mcc)
Invoked when MapCombineCommand arrives to a target Infinispan node and returns map of resulting
values that need to be reduced.
|
<T> java.util.Map<org.infinispan.remoting.transport.Address,java.util.List<T>> |
mapKeysToNodes(org.infinispan.distribution.DistributionManager dm,
java.lang.String taskId,
java.util.Collection<T> keysToMap,
boolean useIntermediateCompositeKey)
Maps Map/Reduce task intermediate or input keys to nodes on Infinispan cluster
|
private <KIn,VIn,KOut,VOut> |
migrateIntermediateKeysAndValues(org.infinispan.commands.read.MapCombineCommand<KIn,VIn,KOut,VOut> mcc,
java.util.Map<KOut,java.util.List<VOut>> collectedValues) |
<KOut,VOut> |
reduce(org.infinispan.commands.read.ReduceCommand<KOut,VOut> reduceCommand)
Invoked when ReduceCommand arrives to a target Infinispan node.
|
protected <KOut,VOut> |
reduce(org.infinispan.commands.read.ReduceCommand<KOut,VOut> reduceCommand,
java.util.Map<KOut,VOut> result) |
<KOut,VOut> |
reduce(org.infinispan.commands.read.ReduceCommand<KOut,VOut> reduceCommand,
java.lang.String resultCache)
Invoked when ReduceCommand arrives to a target Infinispan node.
|
private static final org.infinispan.util.logging.Log log
private org.infinispan.interceptors.locking.ClusteringDependentLogic cdl
private org.infinispan.manager.EmbeddedCacheManager cacheManager
private org.infinispan.persistence.manager.PersistenceManager persistenceManager
private java.util.concurrent.ExecutorService executorService
private org.infinispan.util.TimeService timeService
private int chunkSize
public void init(org.infinispan.manager.EmbeddedCacheManager cacheManager, org.infinispan.persistence.manager.PersistenceManager persistenceManager, java.util.concurrent.ExecutorService asyncTransportExecutor, org.infinispan.interceptors.locking.ClusteringDependentLogic cdl, org.infinispan.util.TimeService timeService, Configuration configuration)
public java.util.concurrent.ExecutorService getExecutorService()
MapReduceManager
getExecutorService
in interface MapReduceManager
ExecutorService
for local taskspublic <KIn,VIn,KOut,VOut> java.util.Map<KOut,java.util.List<VOut>> mapAndCombineForLocalReduction(org.infinispan.commands.read.MapCombineCommand<KIn,VIn,KOut,VOut> mcc) throws java.lang.InterruptedException
MapReduceManager
Unlike MapReduceManager.mapAndCombineForDistributedReduction(MapCombineCommand)
implementations should return a map Map
mapAndCombineForLocalReduction
in interface MapReduceManager
mcc
- MapCombineCommand sent from MapReduceTaskjava.lang.InterruptedException
public <KIn,VIn,KOut,VOut> java.util.Set<KOut> mapAndCombineForDistributedReduction(org.infinispan.commands.read.MapCombineCommand<KIn,VIn,KOut,VOut> mcc) throws java.lang.InterruptedException
MapReduceManager
mapAndCombineForDistributedReduction
in interface MapReduceManager
mcc
- MapCombineCommand sent from MapReduceTaskjava.lang.InterruptedException
public <KOut,VOut> java.util.Map<KOut,VOut> reduce(org.infinispan.commands.read.ReduceCommand<KOut,VOut> reduceCommand) throws java.lang.InterruptedException
MapReduceManager
reduce
in interface MapReduceManager
reduceCommand
- ReduceCommand sent from MapReduceTaskjava.lang.InterruptedException
public <KOut,VOut> void reduce(org.infinispan.commands.read.ReduceCommand<KOut,VOut> reduceCommand, java.lang.String resultCache) throws java.lang.InterruptedException
MapReduceManager
reduce
in interface MapReduceManager
reduceCommand
- ReduceCommand sent from MapReduceTaskresultCache
- result cache to store results of reduce phasejava.lang.InterruptedException
protected <KOut,VOut> void reduce(org.infinispan.commands.read.ReduceCommand<KOut,VOut> reduceCommand, java.util.Map<KOut,VOut> result) throws java.lang.InterruptedException
java.lang.InterruptedException
protected <KIn,VIn,KOut,VOut> MapReduceManagerImpl.CollectableCollector<KOut,VOut> map(org.infinispan.commands.read.MapCombineCommand<KIn,VIn,KOut,VOut> mcc) throws java.lang.InterruptedException
java.lang.InterruptedException
protected <KIn,VIn,KOut,VOut> java.util.Set<KOut> mapAndCombine(org.infinispan.commands.read.MapCombineCommand<KIn,VIn,KOut,VOut> mcc) throws java.lang.Exception
java.lang.Exception
protected <KIn,VIn,KOut,VOut> java.util.Map<KOut,java.util.List<VOut>> combine(org.infinispan.commands.read.MapCombineCommand<KIn,VIn,KOut,VOut> mcc, java.util.Map<KOut,java.util.List<VOut>> collectedValues)
private <KIn,VIn,KOut,VOut> java.util.Set<KOut> migrateIntermediateKeysAndValues(org.infinispan.commands.read.MapCombineCommand<KIn,VIn,KOut,VOut> mcc, java.util.Map<KOut,java.util.List<VOut>> collectedValues)
public <T> java.util.Map<org.infinispan.remoting.transport.Address,java.util.List<T>> mapKeysToNodes(org.infinispan.distribution.DistributionManager dm, java.lang.String taskId, java.util.Collection<T> keysToMap, boolean useIntermediateCompositeKey)
MapReduceManager
mapKeysToNodes
in interface MapReduceManager
dm
- distribution manager to use for locating keys on hash wheeltaskId
- id of the map/reduce taskkeysToMap
- list of input keys to locate in the clusteruseIntermediateCompositeKey
- if true use composite keys for shared intermediate cacheprotected <KIn> java.util.Set<KIn> filterLocalPrimaryOwner(java.util.Set<KIn> nodeLocalKeys, org.infinispan.distribution.DistributionManager dm)