Author: jbellis
Date: Tue Jan  5 17:16:35 2010
New Revision: 896132

URL: http://svn.apache.org/viewvc?rev=896132&view=rev
Log:
Abort bootstrap if IP is already in the token ring.  patch by jbellis; reviewed 
by jaakko for CASSANDRA-663

Modified:
    incubator/cassandra/branches/cassandra-0.5/CHANGES.txt
    
incubator/cassandra/branches/cassandra-0.5/src/java/org/apache/cassandra/service/StorageService.java

Modified: incubator/cassandra/branches/cassandra-0.5/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/branches/cassandra-0.5/CHANGES.txt?rev=896132&r1=896131&r2=896132&view=diff
==============================================================================
--- incubator/cassandra/branches/cassandra-0.5/CHANGES.txt (original)
+++ incubator/cassandra/branches/cassandra-0.5/CHANGES.txt Tue Jan  5 17:16:35 
2010
@@ -4,6 +4,7 @@
  * TcpConnectionManager was holding on to disconnected connections, 
    giving the false indication they were being used. (CASSANDRA-651)
  * Avoid redundant write of the same mutation. (CASSANDRA-662)
+ * Abort bootstrap if IP is already in the token ring (CASSANDRA-663)
 
 
 0.5.0 RC1

Modified: 
incubator/cassandra/branches/cassandra-0.5/src/java/org/apache/cassandra/service/StorageService.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/branches/cassandra-0.5/src/java/org/apache/cassandra/service/StorageService.java?rev=896132&r1=896131&r2=896132&view=diff
==============================================================================
--- 
incubator/cassandra/branches/cassandra-0.5/src/java/org/apache/cassandra/service/StorageService.java
 (original)
+++ 
incubator/cassandra/branches/cassandra-0.5/src/java/org/apache/cassandra/service/StorageService.java
 Tue Jan  5 17:16:35 2010
@@ -340,6 +340,11 @@
         {
             throw new AssertionError(e);
         }
+        if (tokenMetadata_.isMember(FBUtilities.getLocalAddress()))
+        {
+            String s = "This node is already a member of the token ring; 
bootstrap aborted. (If replacing a dead node, remove the old one from the ring 
first.)";
+            throw new UnsupportedOperationException(s);
+        }
         new BootStrapper(replicationStrategy_, FBUtilities.getLocalAddress(), 
token, tokenMetadata_).startBootstrap(); // handles token update
     }
 


Reply via email to