org.infinispan.statetransfer
Class ReplicatedStateTransferTask

java.lang.Object
  extended by org.infinispan.statetransfer.BaseStateTransferTask
      extended by org.infinispan.statetransfer.ReplicatedStateTransferTask

public class ReplicatedStateTransferTask
extends BaseStateTransferTask

Task which pushes keys to new nodes during join.

To reduce the duration of the state transfer, all the existing members participate in the state transfer.

We use a ConsistentHash to decide which existing node is supposed to push a certain key.

Example:

 - The membership is {A,B,C,D}
 - The new view is {A,B,C,D,E,F}
 - For K, the old CH is A,B and the new CH is A,C
 - A (since it is K's owner) now pushes K to C
 - For K2, the old CH is A,B and the new CH is B,C
 - B (since it is the backup owner and A left) pushes K2 to C
 

Since:
4.2
Author:
Bela Ban, Dan Berindei

Field Summary
 
Fields inherited from class org.infinispan.statetransfer.BaseStateTransferTask
cacheNotifier, chNew, chOld, configuration, dataContainer, initialView, members, newViewId, self, stateTransferChunkSize, stateTransferLock, trace
 
Constructor Summary
ReplicatedStateTransferTask(RpcManager rpcManager, Configuration configuration, DataContainer dataContainer, ReplicatedStateTransferManagerImpl stateTransferManager, StateTransferLock stateTransferLock, CacheNotifier cacheNotifier, int newViewId, Collection<Address> members, ConsistentHash chOld, ConsistentHash chNew, boolean initialView)
           
 
Method Summary
 void doPerformStateTransfer()
           
 
Methods inherited from class org.infinispan.statetransfer.BaseStateTransferTask
cancelStateTransfer, checkIfCancelled, commitStateTransfer, finishPushingState, performStateTransfer, pushPartialState
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReplicatedStateTransferTask

public ReplicatedStateTransferTask(RpcManager rpcManager,
                                   Configuration configuration,
                                   DataContainer dataContainer,
                                   ReplicatedStateTransferManagerImpl stateTransferManager,
                                   StateTransferLock stateTransferLock,
                                   CacheNotifier cacheNotifier,
                                   int newViewId,
                                   Collection<Address> members,
                                   ConsistentHash chOld,
                                   ConsistentHash chNew,
                                   boolean initialView)
Method Detail

doPerformStateTransfer

public void doPerformStateTransfer()
                            throws Exception
Specified by:
doPerformStateTransfer in class BaseStateTransferTask
Throws:
Exception

-->

Copyright © 2012 JBoss, a division of Red Hat. All Rights Reserved.