[infinispan-commits] Infinispan SVN: r1765 - trunk/core/src/main/java/org/infinispan/distribution.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Mon May 10 10:02:12 EDT 2010
Author: mircea.markus
Date: 2010-05-10 10:02:06 -0400 (Mon, 10 May 2010)
New Revision: 1765
Modified:
trunk/core/src/main/java/org/infinispan/distribution/JoinTask.java
Log:
updated javadoc
Modified: trunk/core/src/main/java/org/infinispan/distribution/JoinTask.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/distribution/JoinTask.java 2010-05-10 13:41:29 UTC (rev 1764)
+++ trunk/core/src/main/java/org/infinispan/distribution/JoinTask.java 2010-05-10 14:02:06 UTC (rev 1765)
@@ -24,14 +24,20 @@
import java.util.Random;
/**
- * 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
+ * 5. JoinTask: This is a PULL based rehash. JoinTask is kicked off on the JOINER.
+ * <ul>
+ * <li>5.1. Obtain OLD_CH from coordinator (using GetConsistentHashCommand) <li>
+ * <li>5.2. Generate TEMP_CH (which is a union of OLD_CH and NEW_CH)</li>
+ * <li>5.3. Broadcast TEMP_CH across the cluster (using InstallConsistentHashCommand)</li>
+ * <li>5.4. Log all incoming writes/txs and respond with a positive ack.</li>
+ * <li>5.5. Ignore incoming reads, forcing callers to check next owner of data.</li>
+ * <li>5.6. Ping each node in OLD_CH's view and ask for state (PullStateCommand)</li>
+ * <li>5.7. Apply state received from 5.6.</li>
+ * <li>5.8. Drain tx log and apply, stop logging writes once drained.</li>
+ * <li>5.9. Reverse 5.5.</li>
+ * <li>5.10. Broadcast NEW_CH so this is applied (using InstallConsistentHashCommand)</li>
+ * <li>5.11. Loop through data container and unicast invalidations for keys that "could" exist on OLD_CH and not in NEW_CH</li>
+ * <ul>
*
* @author Manik Surtani
* @since 4.0
@@ -110,7 +116,7 @@
// 2. new CH instance
chNew = createConsistentHash(configuration, chOld.getCaches(), self);
dmi.setConsistentHash(chNew);
-
+
if (configuration.isRehashEnabled()) {
// 3. Enable TX logging
transactionLogger.enable();
@@ -141,7 +147,7 @@
unlocked = true;
if (!configuration.isRehashEnabled()) {
- rpcManager.broadcastRpcCommand(cf.buildRehashControlCommand(JOIN_REHASH_START, self), true, true);
+ rpcManager.broadcastRpcCommand(cf.buildRehashControlCommand(JOIN_REHASH_START, self), true, true);
}
// 10.
rpcManager.broadcastRpcCommand(cf.buildRehashControlCommand(JOIN_REHASH_END, self), true, true);
@@ -176,7 +182,7 @@
* The algorithm essentially works like this. Given a list of all Addresses in the system (ordered by their positions
* in the new consistent hash wheel), locate where the current address (self, the joiner) is, on this list. Addresses
* from (replCount - 1) positions behind self, and 1 position ahead of self would be sending state.
- * <p />
+ * <p />
* @param replCount
* @return
*/
More information about the infinispan-commits
mailing list