org.infinispan.commands.control
Class RehashControlCommand
java.lang.Object
org.infinispan.commands.remote.BaseRpcCommand
org.infinispan.commands.control.RehashControlCommand
- All Implemented Interfaces:
- CacheRpcCommand, ReplicableCommand
public class RehashControlCommand
- extends BaseRpcCommand
A control command to coordinate rehashes that may occur when nodes join or leave a cluster, when DIST is used as a
cache mode. This complex command coordinates the various phases of a rehash event when a joiner joins or a leaver
leaves a cluster running in "distribution" mode.
It may break up into several commands in future.
- Since:
- 4.0
- Author:
- Manik Surtani
Constructor Summary |
RehashControlCommand()
|
RehashControlCommand(String cacheName,
RehashControlCommand.Type type,
Address sender,
List<WriteCommand> txLogCommands,
List<PrepareCommand> pendingPrepares,
CommandsFactory commandsFactory)
|
RehashControlCommand(String cacheName,
RehashControlCommand.Type type,
Address sender,
Map<Object,InternalCacheValue> state,
ConsistentHash oldConsistentHash,
ConsistentHash consistentHash,
List<Address> leavers,
CommandsFactory commandsFactory)
|
RehashControlCommand(Transport transport)
|
COMMAND_ID
public static final int COMMAND_ID
- See Also:
- Constant Field Values
RehashControlCommand
public RehashControlCommand()
RehashControlCommand
public RehashControlCommand(String cacheName,
RehashControlCommand.Type type,
Address sender,
Map<Object,InternalCacheValue> state,
ConsistentHash oldConsistentHash,
ConsistentHash consistentHash,
List<Address> leavers,
CommandsFactory commandsFactory)
RehashControlCommand
public RehashControlCommand(String cacheName,
RehashControlCommand.Type type,
Address sender,
List<WriteCommand> txLogCommands,
List<PrepareCommand> pendingPrepares,
CommandsFactory commandsFactory)
RehashControlCommand
public RehashControlCommand(Transport transport)
init
public void init(DistributionManager distributionManager,
Configuration configuration,
DataContainer dataContainer,
CommandsFactory commandsFactory)
perform
public Object perform(InvocationContext ctx)
throws Throwable
- Description copied from interface:
ReplicableCommand
- Performs the primary function of the command. Please see specific implementation classes for details on what is
performed as well as return types. Important: this method will be invoked at the end of interceptors chain.
It should never be called directly from a custom interceptor.
- Parameters:
ctx
- invocation context
- Returns:
- arbitrary return value generated by performing this command
- Throws:
Throwable
- in the event of problems.
pullStateForJoin
public Map<Object,InternalCacheValue> pullStateForJoin()
throws CacheLoaderException
- Throws:
CacheLoaderException
pullStateForLeave
public Map<Object,InternalCacheValue> pullStateForLeave()
throws CacheLoaderException
- Throws:
CacheLoaderException
pushState
public Object pushState()
getCommandId
public byte getCommandId()
- Description copied from interface:
ReplicableCommand
- Used by marshallers to convert this command into an id for streaming.
- Returns:
- the method id of this command. This is compatible with pre-2.2.0 MethodCall ids.
getParameters
public Object[] getParameters()
- Description copied from interface:
ReplicableCommand
- Used by marshallers to stream this command across a network
- Returns:
- an object array of arguments, compatible with pre-2.2.0 MethodCall args.
setParameters
public void setParameters(int commandId,
Object[] parameters)
- Description copied from interface:
ReplicableCommand
- Used by the
CommandsFactory
to create a command from raw data read off a stream.
- Parameters:
commandId
- command id to set. This is usually unused but *could* be used in the event of a command having
multiple IDs, such as PutKeyValueCommand
.parameters
- object array of args
toString
public String toString()
- Overrides:
toString
in class Object
Copyright © 2010 JBoss, a division of Red Hat. All Rights Reserved.