Package org.infinispan.statetransfer
Transfer of state to new caches in a cluster.
-
Interface Summary Interface Description StateConsumer Handles inbound state transfers.StateConsumerImpl.KeyInvalidationListener StateProvider Handles outbound state transfers.StateTransferLock We 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.StateTransferManager A component that manages the state transfer when the topology of the cluster changes. -
Class Summary Class Description CommitManager Keeps track of the keys updated by normal operation and state transfer.CorePackageImpl InboundTransferTask Inbound state transfer task.OutboundTransferTask Outbound state transfer task.StateChunk Encapsulates a chunk of cache entries that belong to the same segment.StateChunk.Externalizer StateConsumerImpl StateConsumer
implementation.StateProviderImpl StateProvider
implementation.StateRequestCommand This command is used by a StateConsumer to request transactions and cache entries from a StateProvider.StateResponseCommand This command is used by a StateProvider to push cache entries to a StateConsumer.StateTransferInterceptor This 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 StateTransferLock
implementation.StateTransferManagerImpl StateTransferManager
implementation.TransactionInfo A 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 TransactionSynchronizerInterceptor With 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 AllOwnersLostException Signals that all owners of a key have been lost.OutdatedTopologyException An exception signalling that a command should be retried because a newer topology was seen during execution.