You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by br...@apache.org on 2014/09/29 16:52:56 UTC

[1/8] git commit: Ignore fat clients when checking for endpoint collision

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 3db38d7ed -> 6b8b8e0f9
  refs/heads/cassandra-2.1 ad60b7812 -> 3ece6f239
  refs/heads/trunk 04f0d412b -> 9391fc03d


Ignore fat clients when checking for endpoint collision

Patch by brandonwilliams, reviewed by tjake for CASSANDRA-7939


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6b8b8e0f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6b8b8e0f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6b8b8e0f

Branch: refs/heads/cassandra-2.0
Commit: 6b8b8e0f924b53b9f99854f88ff9ba84073cb295
Parents: 3db38d7
Author: Brandon Williams <br...@apache.org>
Authored: Mon Sep 29 09:46:02 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Mon Sep 29 09:46:02 2014 -0500

----------------------------------------------------------------------
 CHANGES.txt                                               | 1 +
 src/java/org/apache/cassandra/service/StorageService.java | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b8b8e0f/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 40e2f2c..dd5f7dd 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.11:
+ * Ignore fat clients when checking for endpoint collision (CASSANDRA-7939)
  * CrcCheckChance should adjust based on live CFMetadata not 
    sstable metadata (CASSANDRA-7978)
  * token() should only accept columns in the partitioning

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b8b8e0f/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java
index f693a0b..11eb91d 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -444,7 +444,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
             MessagingService.instance().listen(FBUtilities.getLocalAddress());
         Gossiper.instance.doShadowRound();
         EndpointState epState = Gossiper.instance.getEndpointStateForEndpoint(FBUtilities.getBroadcastAddress());
-        if (epState != null && !Gossiper.instance.isDeadState(epState))
+        if (epState != null && !Gossiper.instance.isDeadState(epState) && !Gossiper.instance.isFatClient(FBUtilities.getBroadcastAddress()))
         {
             throw new RuntimeException(String.format("A node with address %s already exists, cancelling join. " +
                                                      "Use cassandra.replace_address if you want to replace this node.",


[7/8] git commit: Ignore fat clients when checking for endpoint collision

Posted by br...@apache.org.
Ignore fat clients when checking for endpoint collision

Patch by brandonwilliams, reviewed by tjake for CASSANDRA-7939


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3ece6f23
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3ece6f23
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3ece6f23

Branch: refs/heads/cassandra-2.1
Commit: 3ece6f2399fa15c97d889c5d43b4a7457825e8e1
Parents: 5f18658
Author: Brandon Williams <br...@apache.org>
Authored: Mon Sep 29 09:52:09 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Mon Sep 29 09:52:09 2014 -0500

----------------------------------------------------------------------
 CHANGES.txt                                         |  1 +
 .../apache/cassandra/service/StorageService.java    | 16 +++++++++++++++-
 2 files changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3ece6f23/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index fca7ccb..354cb5d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.1
+ * Ignore fat clients when checking for endpoint collision (CASSANDRA-7939)
  * Make sstablerepairedset take a list of files (CASSANDRA-7995)
  * (cqlsh) Tab completeion for indexes on map keys (CASSANDRA-7972)
  * (cqlsh) Fix UDT field selection in select clause (CASSANDRA-7891)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3ece6f23/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java
index a005c44..d2cb1ab 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -453,12 +453,26 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
             MessagingService.instance().listen(FBUtilities.getLocalAddress());
         Gossiper.instance.doShadowRound();
         EndpointState epState = Gossiper.instance.getEndpointStateForEndpoint(FBUtilities.getBroadcastAddress());
-        if (epState != null && !Gossiper.instance.isDeadState(epState))
+        if (epState != null && !Gossiper.instance.isDeadState(epState) && !Gossiper.instance.isFatClient(FBUtilities.getBroadcastAddress()))
         {
             throw new RuntimeException(String.format("A node with address %s already exists, cancelling join. " +
                                                      "Use cassandra.replace_address if you want to replace this node.",
                                                      FBUtilities.getBroadcastAddress()));
         }
+        if (RangeStreamer.useStrictConsistency)
+        {
+            for (Map.Entry<InetAddress, EndpointState> entry : Gossiper.instance.getEndpointStates())
+            {
+
+                if (entry.getValue().getApplicationState(ApplicationState.STATUS) == null)
+                        continue;
+                String[] pieces = entry.getValue().getApplicationState(ApplicationState.STATUS).value.split(VersionedValue.DELIMITER_STR, -1);
+                assert (pieces.length > 0);
+                String state = pieces[0];
+                if (state.equals(VersionedValue.STATUS_BOOTSTRAPPING) || state.equals(VersionedValue.STATUS_LEAVING) || state.equals(VersionedValue.STATUS_MOVING))
+                    throw new UnsupportedOperationException("Other bootstrapping/leaving/moving nodes detected, cannot bootstrap while cassandra.consistent.rangemovement is true");
+            }
+        }
         Gossiper.instance.resetEndpointStateMap();
     }
 


[3/8] git commit: Ignore fat clients when checking for endpoint collision

Posted by br...@apache.org.
Ignore fat clients when checking for endpoint collision

Patch by brandonwilliams, reviewed by tjake for CASSANDRA-7939


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6b8b8e0f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6b8b8e0f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6b8b8e0f

Branch: refs/heads/trunk
Commit: 6b8b8e0f924b53b9f99854f88ff9ba84073cb295
Parents: 3db38d7
Author: Brandon Williams <br...@apache.org>
Authored: Mon Sep 29 09:46:02 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Mon Sep 29 09:46:02 2014 -0500

----------------------------------------------------------------------
 CHANGES.txt                                               | 1 +
 src/java/org/apache/cassandra/service/StorageService.java | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b8b8e0f/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 40e2f2c..dd5f7dd 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.11:
+ * Ignore fat clients when checking for endpoint collision (CASSANDRA-7939)
  * CrcCheckChance should adjust based on live CFMetadata not 
    sstable metadata (CASSANDRA-7978)
  * token() should only accept columns in the partitioning

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b8b8e0f/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java
index f693a0b..11eb91d 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -444,7 +444,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
             MessagingService.instance().listen(FBUtilities.getLocalAddress());
         Gossiper.instance.doShadowRound();
         EndpointState epState = Gossiper.instance.getEndpointStateForEndpoint(FBUtilities.getBroadcastAddress());
-        if (epState != null && !Gossiper.instance.isDeadState(epState))
+        if (epState != null && !Gossiper.instance.isDeadState(epState) && !Gossiper.instance.isFatClient(FBUtilities.getBroadcastAddress()))
         {
             throw new RuntimeException(String.format("A node with address %s already exists, cancelling join. " +
                                                      "Use cassandra.replace_address if you want to replace this node.",


[6/8] git commit: Ignore fat clients when checking for endpoint collision

Posted by br...@apache.org.
Ignore fat clients when checking for endpoint collision

Patch by brandonwilliams, reviewed by tjake for CASSANDRA-7939


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3ece6f23
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3ece6f23
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3ece6f23

Branch: refs/heads/trunk
Commit: 3ece6f2399fa15c97d889c5d43b4a7457825e8e1
Parents: 5f18658
Author: Brandon Williams <br...@apache.org>
Authored: Mon Sep 29 09:52:09 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Mon Sep 29 09:52:09 2014 -0500

----------------------------------------------------------------------
 CHANGES.txt                                         |  1 +
 .../apache/cassandra/service/StorageService.java    | 16 +++++++++++++++-
 2 files changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3ece6f23/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index fca7ccb..354cb5d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.1
+ * Ignore fat clients when checking for endpoint collision (CASSANDRA-7939)
  * Make sstablerepairedset take a list of files (CASSANDRA-7995)
  * (cqlsh) Tab completeion for indexes on map keys (CASSANDRA-7972)
  * (cqlsh) Fix UDT field selection in select clause (CASSANDRA-7891)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3ece6f23/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java
index a005c44..d2cb1ab 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -453,12 +453,26 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
             MessagingService.instance().listen(FBUtilities.getLocalAddress());
         Gossiper.instance.doShadowRound();
         EndpointState epState = Gossiper.instance.getEndpointStateForEndpoint(FBUtilities.getBroadcastAddress());
-        if (epState != null && !Gossiper.instance.isDeadState(epState))
+        if (epState != null && !Gossiper.instance.isDeadState(epState) && !Gossiper.instance.isFatClient(FBUtilities.getBroadcastAddress()))
         {
             throw new RuntimeException(String.format("A node with address %s already exists, cancelling join. " +
                                                      "Use cassandra.replace_address if you want to replace this node.",
                                                      FBUtilities.getBroadcastAddress()));
         }
+        if (RangeStreamer.useStrictConsistency)
+        {
+            for (Map.Entry<InetAddress, EndpointState> entry : Gossiper.instance.getEndpointStates())
+            {
+
+                if (entry.getValue().getApplicationState(ApplicationState.STATUS) == null)
+                        continue;
+                String[] pieces = entry.getValue().getApplicationState(ApplicationState.STATUS).value.split(VersionedValue.DELIMITER_STR, -1);
+                assert (pieces.length > 0);
+                String state = pieces[0];
+                if (state.equals(VersionedValue.STATUS_BOOTSTRAPPING) || state.equals(VersionedValue.STATUS_LEAVING) || state.equals(VersionedValue.STATUS_MOVING))
+                    throw new UnsupportedOperationException("Other bootstrapping/leaving/moving nodes detected, cannot bootstrap while cassandra.consistent.rangemovement is true");
+            }
+        }
         Gossiper.instance.resetEndpointStateMap();
     }
 


[2/8] git commit: Ignore fat clients when checking for endpoint collision

Posted by br...@apache.org.
Ignore fat clients when checking for endpoint collision

Patch by brandonwilliams, reviewed by tjake for CASSANDRA-7939


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6b8b8e0f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6b8b8e0f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6b8b8e0f

Branch: refs/heads/cassandra-2.1
Commit: 6b8b8e0f924b53b9f99854f88ff9ba84073cb295
Parents: 3db38d7
Author: Brandon Williams <br...@apache.org>
Authored: Mon Sep 29 09:46:02 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Mon Sep 29 09:46:02 2014 -0500

----------------------------------------------------------------------
 CHANGES.txt                                               | 1 +
 src/java/org/apache/cassandra/service/StorageService.java | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b8b8e0f/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 40e2f2c..dd5f7dd 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.11:
+ * Ignore fat clients when checking for endpoint collision (CASSANDRA-7939)
  * CrcCheckChance should adjust based on live CFMetadata not 
    sstable metadata (CASSANDRA-7978)
  * token() should only accept columns in the partitioning

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6b8b8e0f/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java
index f693a0b..11eb91d 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -444,7 +444,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
             MessagingService.instance().listen(FBUtilities.getLocalAddress());
         Gossiper.instance.doShadowRound();
         EndpointState epState = Gossiper.instance.getEndpointStateForEndpoint(FBUtilities.getBroadcastAddress());
-        if (epState != null && !Gossiper.instance.isDeadState(epState))
+        if (epState != null && !Gossiper.instance.isDeadState(epState) && !Gossiper.instance.isFatClient(FBUtilities.getBroadcastAddress()))
         {
             throw new RuntimeException(String.format("A node with address %s already exists, cancelling join. " +
                                                      "Use cassandra.replace_address if you want to replace this node.",


[8/8] git commit: Merge branch 'cassandra-2.1' into trunk

Posted by br...@apache.org.
Merge branch 'cassandra-2.1' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9391fc03
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9391fc03
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9391fc03

Branch: refs/heads/trunk
Commit: 9391fc03d479a71d95386375f1a3037eb72d1898
Parents: 04f0d41 3ece6f2
Author: Brandon Williams <br...@apache.org>
Authored: Mon Sep 29 09:52:49 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Mon Sep 29 09:52:49 2014 -0500

----------------------------------------------------------------------
 CHANGES.txt                                         |  1 +
 .../apache/cassandra/service/StorageService.java    | 16 +++++++++++++++-
 2 files changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9391fc03/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index b9ffacc,354cb5d..bbfc5cb
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,32 -1,5 +1,33 @@@
 +3.0
 + * Remove cassandra-cli (CASSANDRA-7920)
 + * Optimize java source-based UDF invocation (CASSANDRA-7924)
 + * Accept dollar quoted strings in CQL (CASSANDRA-7769)
 + * Make assassinate a first class command (CASSANDRA-7935)
 + * Support IN clause on any clustering column (CASSANDRA-4762)
 + * Improve compaction logging (CASSANDRA-7818)
 + * Remove YamlFileNetworkTopologySnitch (CASSANDRA-7917)
 + * Support Java source code for user-defined functions (CASSANDRA-7562)
 + * Require arg types to disambiguate UDF drops (CASSANDRA-7812)
 + * Do anticompaction in groups (CASSANDRA-6851)
 + * Verify that UDF class methods are static (CASSANDRA-7781)
 + * Support pure user-defined functions (CASSANDRA-7395, 7740)
 + * Permit configurable timestamps with cassandra-stress (CASSANDRA-7416)
 + * Move sstable RandomAccessReader to nio2, which allows using the
 +   FILE_SHARE_DELETE flag on Windows (CASSANDRA-4050)
 + * Remove CQL2 (CASSANDRA-5918)
 + * Add Thrift get_multi_slice call (CASSANDRA-6757)
 + * Optimize fetching multiple cells by name (CASSANDRA-6933)
 + * Allow compilation in java 8 (CASSANDRA-7028)
 + * Make incremental repair default (CASSANDRA-7250)
 + * Enable code coverage thru JaCoCo (CASSANDRA-7226)
 + * Switch external naming of 'column families' to 'tables' (CASSANDRA-4369) 
 + * Shorten SSTable path (CASSANDRA-6962)
 + * Use unsafe mutations for most unit tests (CASSANDRA-6969)
 + * Fix race condition during calculation of pending ranges (CASSANDRA-7390)
 +
 +
  2.1.1
+  * Ignore fat clients when checking for endpoint collision (CASSANDRA-7939)
   * Make sstablerepairedset take a list of files (CASSANDRA-7995)
   * (cqlsh) Tab completeion for indexes on map keys (CASSANDRA-7972)
   * (cqlsh) Fix UDT field selection in select clause (CASSANDRA-7891)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9391fc03/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------


[5/8] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

Posted by br...@apache.org.
Merge branch 'cassandra-2.0' into cassandra-2.1


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5f186581
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5f186581
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5f186581

Branch: refs/heads/trunk
Commit: 5f18658170b66714e46f82b8151c5fcab233d742
Parents: ad60b78 6b8b8e0
Author: Brandon Williams <br...@apache.org>
Authored: Mon Sep 29 09:46:47 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Mon Sep 29 09:46:47 2014 -0500

----------------------------------------------------------------------

----------------------------------------------------------------------



[4/8] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

Posted by br...@apache.org.
Merge branch 'cassandra-2.0' into cassandra-2.1


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5f186581
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5f186581
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5f186581

Branch: refs/heads/cassandra-2.1
Commit: 5f18658170b66714e46f82b8151c5fcab233d742
Parents: ad60b78 6b8b8e0
Author: Brandon Williams <br...@apache.org>
Authored: Mon Sep 29 09:46:47 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Mon Sep 29 09:46:47 2014 -0500

----------------------------------------------------------------------

----------------------------------------------------------------------