Author: jbellis
Date: Wed Aug 31 18:17:06 2011
New Revision: 1163731
URL: http://svn.apache.org/viewvc?rev=1163731&view=rev
Log:
add delay parameter to removeToken so RemoveTest doesn't have to wait for full
RING_DELAY
patch by jbellis
Modified:
cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java
cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
cassandra/trunk/test/unit/org/apache/cassandra/service/RemoveTest.java
Modified: cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java
URL:
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java?rev=1163731&r1=1163730&r2=1163731&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java Wed Aug 31
18:17:06 2011
@@ -362,8 +362,9 @@ public class Gossiper implements IFailur
* @param endpoint - the endpoint being removed
* @param token - the token being removed
* @param mytoken - my own token for replication coordination
+ * @param delay
*/
- public void advertiseRemoving(InetAddress endpoint, Token token, Token
mytoken)
+ public void advertiseRemoving(InetAddress endpoint, Token token, Token
mytoken, int delay)
{
EndpointState epState = endpointStateMap.get(endpoint);
// remember this node's generation
@@ -372,7 +373,7 @@ public class Gossiper implements IFailur
logger.info("Sleeping for " + StorageService.RING_DELAY + "ms to
ensure " + endpoint + " does not change");
try
{
- Thread.sleep(StorageService.RING_DELAY);
+ Thread.sleep(delay);
}
catch (InterruptedException e)
{
Modified:
cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
URL:
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java?rev=1163731&r1=1163730&r2=1163731&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
Wed Aug 31 18:17:06 2011
@@ -27,6 +27,7 @@ import java.net.UnknownHostException;
import java.nio.ByteBuffer;
import java.util.*;
import java.util.concurrent.*;
+import javax.lang.model.type.TypeKind;
import javax.management.MBeanServer;
import javax.management.ObjectName;
@@ -2107,6 +2108,11 @@ public class StorageService implements I
*/
public void removeToken(String tokenString)
{
+ removeToken(tokenString, RING_DELAY);
+ }
+
+ public void removeToken(String tokenString, int delay)
+ {
InetAddress myAddress = FBUtilities.getBroadcastAddress();
Token localToken = tokenMetadata_.getToken(myAddress);
Token token = partitioner.getTokenFactory().fromString(tokenString);
@@ -2153,7 +2159,7 @@ public class StorageService implements I
calculatePendingRanges();
// the gossiper will handle spoofing this node's state to
REMOVING_TOKEN for us
// we add our own token so other nodes to let us know when they're done
- Gossiper.instance.advertiseRemoving(endpoint, token, localToken);
+ Gossiper.instance.advertiseRemoving(endpoint, token, localToken,
delay);
// kick off streaming commands
restoreReplicaCount(endpoint, myAddress);
Modified: cassandra/trunk/test/unit/org/apache/cassandra/service/RemoveTest.java
URL:
http://svn.apache.org/viewvc/cassandra/trunk/test/unit/org/apache/cassandra/service/RemoveTest.java?rev=1163731&r1=1163730&r2=1163731&view=diff
==============================================================================
--- cassandra/trunk/test/unit/org/apache/cassandra/service/RemoveTest.java
(original)
+++ cassandra/trunk/test/unit/org/apache/cassandra/service/RemoveTest.java Wed
Aug 31 18:17:06 2011
@@ -124,7 +124,7 @@ public class RemoveTest extends CleanupH
{
try
{
- ss.removeToken(token);
+ ss.removeToken(token, 0);
}
catch (Exception e)
{