org.infinispan.distribution
Class JoinTask

java.lang.Object
  extended by org.infinispan.distribution.RehashTask
      extended by org.infinispan.distribution.JoinTask
All Implemented Interfaces:
Callable<Void>

public class JoinTask
extends RehashTask

5. JoinTask: This is a PULL based rehash. JoinTask is kicked off on the JOINER. 5.1. Obtain OLD_CH from coordinator (using GetConsistentHashCommand) 5.2. Generate TEMP_CH (which is a union of OLD_CH and NEW_CH) 5.3. Broadcast TEMP_CH across the cluster (using InstallConsistentHashCommand) 5.4. Log all incoming writes/txs and respond with a positive ack. 5.5. Ignore incoming reads, forcing callers to check next owner of data. 5.6. Ping each node in OLD_CH's view and ask for state (PullStateCommand) 5.7. Apply state received from 5.6. 5.8. Drain tx log and apply, stop logging writes once drained. 5.9. Reverse 5.5. 5.10. Broadcast NEW_CH so this is applied (using InstallConsistentHashCommand) 5.11. Loop through data container and unicast invalidations for keys that "could" exist on OLD_CH and not in NEW_CH

Since:
4.0
Author:
Manik Surtani

Constructor Summary
JoinTask(RpcManager rpcManager, CommandsFactory commandsFactory, Configuration conf, TransactionLogger transactionLogger, DataContainer dataContainer, DistributionManagerImpl dmi)
           
 
Method Summary
protected  Log getLog()
           
protected  void performRehash()
           
 
Methods inherited from class org.infinispan.distribution.RehashTask
call, coordinator, getInvalidHolders, invalidateInvalidHolders
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JoinTask

public JoinTask(RpcManager rpcManager,
                CommandsFactory commandsFactory,
                Configuration conf,
                TransactionLogger transactionLogger,
                DataContainer dataContainer,
                DistributionManagerImpl dmi)
Method Detail

performRehash

protected void performRehash()
                      throws Exception
Specified by:
performRehash in class RehashTask
Throws:
Exception

getLog

protected Log getLog()
Specified by:
getLog in class RehashTask

Google Analytics

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