Transfer of state to new caches in a cluster.
Interface Summary Interface Description StateConsumerHandles inbound state transfers. StateConsumerImpl.KeyInvalidationListener StateProviderHandles outbound state transfers. StateTransferLockWe use the state transfer lock for three different things: We don't want to execute a command until we have the transaction table for that topology id. StateTransferManagerA component that manages the state transfer when the topology of the cluster changes.
Class Summary Class Description CommitManagerKeeps track of the keys updated by normal operation and state transfer. CorePackageImpl InboundTransferTaskInbound state transfer task. OutboundTransferTaskOutbound state transfer task. StateChunkEncapsulates a chunk of cache entries that belong to the same segment. StateChunk.Externalizer StateConsumerImpl
StateRequestCommandThis command is used by a StateConsumer to request transactions and cache entries from a StateProvider. StateResponseCommandThis command is used by a StateProvider to push cache entries to a StateConsumer. StateTransferInterceptorThis interceptor has two tasks: If the command's topology id is higher than the current topology id, wait for the node to receive transaction data for the new topology id. If the topology id changed during a command's execution, retry the command, but only on the originator (which replicates it to the new owners). If the cache is configured with asynchronous replication, owners cannot signal to the originator that they saw a new topology, so instead each owner forwards the command to all the other owners in the new topology. StateTransferLockImpl
TransactionInfoA representation of a transaction that is suitable for transferring between a StateProvider and a StateConsumer running on different members of the same cache. TransactionInfo.Externalizer TransactionSynchronizerInterceptorWith the Non-Blocking State Transfer (NBST) in place it is possible for a transactional command to be forwarded multiple times, concurrently to the same node.
Enum Summary Enum Description RebalanceType StateRequestCommand.Type
Exception Summary Exception Description AllOwnersLostExceptionSignals that all owners of a key have been lost. OutdatedTopologyExceptionAn exception signalling that a command should be retried because a newer topology was seen during execution.