You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2010/01/05 18:16:36 UTC

svn commit: r896132 - in /incubator/cassandra/branches/cassandra-0.5: CHANGES.txt src/java/org/apache/cassandra/service/StorageService.java

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
     }