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 2013/09/01 21:34:53 UTC

[1/6] git commit: Allow local batchlog writes for CL.ANY patch by jbellis; reviewed by Aleksey for CASSANDRA-5967

Updated Branches:
  refs/heads/cassandra-1.2 b14273b43 -> 3380fa7ba
  refs/heads/cassandra-2.0 d4884c76c -> 27df1bdd2
  refs/heads/trunk 8f202895a -> 1567dd4bd


Allow local batchlog writes for CL.ANY
patch by jbellis; reviewed by Aleksey for CASSANDRA-5967


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

Branch: refs/heads/cassandra-1.2
Commit: 3380fa7baf76998b7c2fdbcb85b23fa3f0099f7c
Parents: b14273b
Author: Jonathan Ellis <jb...@apache.org>
Authored: Sun Sep 1 14:34:11 2013 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Sun Sep 1 14:34:11 2013 -0500

----------------------------------------------------------------------
 CHANGES.txt                                             | 1 +
 src/java/org/apache/cassandra/service/StorageProxy.java | 9 +++++++--
 2 files changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3380fa7b/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 1943217..89f66a8 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.2.10
+ * Allow local batchlog writes for CL.ANY (CASSANDRA-5967)
  * Optimize name query performance in wide rows (CASSANDRA-5966)
  * Upgrade metrics-core to version 2.2.0 (CASSANDRA-5947)
  * Add snitch, schema version, cluster, partitioner to JMX (CASSANDRA-5881)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3380fa7b/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java
index ec27891..94db26d 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -261,7 +261,7 @@ public class StorageProxy implements StorageProxyMBean
             }
 
             // write to the batchlog
-            Collection<InetAddress> batchlogEndpoints = getBatchlogEndpoints(localDataCenter);
+            Collection<InetAddress> batchlogEndpoints = getBatchlogEndpoints(localDataCenter, consistency_level);
             UUID batchUUID = UUID.randomUUID();
             syncWriteToBatchlog(mutations, batchlogEndpoints, batchUUID);
 
@@ -418,7 +418,7 @@ public class StorageProxy implements StorageProxyMBean
      * - choose min(2, number of qualifying candiates above)
      * - allow the local node to be the only replica only if it's a single-node cluster
      */
-    private static Collection<InetAddress> getBatchlogEndpoints(String localDataCenter) throws UnavailableException
+    private static Collection<InetAddress> getBatchlogEndpoints(String localDataCenter, ConsistencyLevel consistencyLevel) throws UnavailableException
     {
         // will include every known node in the DC, including localhost.
         TokenMetadata.Topology topology = StorageService.instance.getTokenMetadata().cloneOnlyTokenMap().getTopology();
@@ -440,7 +440,12 @@ public class StorageProxy implements StorageProxyMBean
         }
 
         if (candidates.isEmpty())
+        {
+            if (consistencyLevel == ConsistencyLevel.ANY)
+                return Collections.singleton(FBUtilities.getBroadcastAddress());
+
             throw new UnavailableException(ConsistencyLevel.ONE, 1, 0);
+        }
 
         if (candidates.size() > 2)
         {


[6/6] git commit: Merge branch 'cassandra-2.0' into trunk

Posted by jb...@apache.org.
Merge branch 'cassandra-2.0' into trunk


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

Branch: refs/heads/trunk
Commit: 1567dd4bdc2a701a0b1541e751d7c3ef0f0553e1
Parents: 8f20289 27df1bd
Author: Jonathan Ellis <jb...@apache.org>
Authored: Sun Sep 1 14:34:46 2013 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Sun Sep 1 14:34:46 2013 -0500

----------------------------------------------------------------------
 CHANGES.txt                                             | 2 ++
 src/java/org/apache/cassandra/service/StorageProxy.java | 9 +++++++--
 2 files changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1567dd4b/CHANGES.txt
----------------------------------------------------------------------


[3/6] git commit: Allow local batchlog writes for CL.ANY patch by jbellis; reviewed by Aleksey for CASSANDRA-5967

Posted by jb...@apache.org.
Allow local batchlog writes for CL.ANY
patch by jbellis; reviewed by Aleksey for CASSANDRA-5967


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

Branch: refs/heads/trunk
Commit: 3380fa7baf76998b7c2fdbcb85b23fa3f0099f7c
Parents: b14273b
Author: Jonathan Ellis <jb...@apache.org>
Authored: Sun Sep 1 14:34:11 2013 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Sun Sep 1 14:34:11 2013 -0500

----------------------------------------------------------------------
 CHANGES.txt                                             | 1 +
 src/java/org/apache/cassandra/service/StorageProxy.java | 9 +++++++--
 2 files changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3380fa7b/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 1943217..89f66a8 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.2.10
+ * Allow local batchlog writes for CL.ANY (CASSANDRA-5967)
  * Optimize name query performance in wide rows (CASSANDRA-5966)
  * Upgrade metrics-core to version 2.2.0 (CASSANDRA-5947)
  * Add snitch, schema version, cluster, partitioner to JMX (CASSANDRA-5881)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3380fa7b/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java
index ec27891..94db26d 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -261,7 +261,7 @@ public class StorageProxy implements StorageProxyMBean
             }
 
             // write to the batchlog
-            Collection<InetAddress> batchlogEndpoints = getBatchlogEndpoints(localDataCenter);
+            Collection<InetAddress> batchlogEndpoints = getBatchlogEndpoints(localDataCenter, consistency_level);
             UUID batchUUID = UUID.randomUUID();
             syncWriteToBatchlog(mutations, batchlogEndpoints, batchUUID);
 
@@ -418,7 +418,7 @@ public class StorageProxy implements StorageProxyMBean
      * - choose min(2, number of qualifying candiates above)
      * - allow the local node to be the only replica only if it's a single-node cluster
      */
-    private static Collection<InetAddress> getBatchlogEndpoints(String localDataCenter) throws UnavailableException
+    private static Collection<InetAddress> getBatchlogEndpoints(String localDataCenter, ConsistencyLevel consistencyLevel) throws UnavailableException
     {
         // will include every known node in the DC, including localhost.
         TokenMetadata.Topology topology = StorageService.instance.getTokenMetadata().cloneOnlyTokenMap().getTopology();
@@ -440,7 +440,12 @@ public class StorageProxy implements StorageProxyMBean
         }
 
         if (candidates.isEmpty())
+        {
+            if (consistencyLevel == ConsistencyLevel.ANY)
+                return Collections.singleton(FBUtilities.getBroadcastAddress());
+
             throw new UnavailableException(ConsistencyLevel.ONE, 1, 0);
+        }
 
         if (candidates.size() > 2)
         {


[4/6] git commit: merge from 1.2

Posted by jb...@apache.org.
merge from 1.2


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

Branch: refs/heads/trunk
Commit: 27df1bdd225b6cdd125f34d805b751b618b8b417
Parents: d4884c7 3380fa7
Author: Jonathan Ellis <jb...@apache.org>
Authored: Sun Sep 1 14:34:38 2013 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Sun Sep 1 14:34:38 2013 -0500

----------------------------------------------------------------------
 CHANGES.txt                                             | 2 ++
 src/java/org/apache/cassandra/service/StorageProxy.java | 9 +++++++--
 2 files changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/27df1bdd/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index ee55941,89f66a8..82fea75
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,6 +1,19 @@@
 -1.2.10
 +2.0.1
 + * Improve leveled compaction's ability to find non-overlapping L0 compactions
 +   to work on concurrently (CASSANDRA-5921)
 + * Notify indexer of columns shadowed by range tombstones (CASSANDRA-5614)
 + * Log Merkle tree stats (CASSANDRA-2698)
 + * Switch from crc32 to adler32 for compressed sstable checksums (CASSANDRA-5862)
 + * Improve offheap memcpy performance (CASSANDRA-5884)
 + * Use a range aware scanner for cleanup (CASSANDRA-2524)
 + * Cleanup doesn't need to inspect sstables that contain only local data 
 +   (CASSANDRA-5722)
 + * Add ability for CQL3 to list partition keys (CASSANDRA-4536)
 + * Improve native protocol serialization (CASSANDRA-5664)
 + * Upgrade Thrift to 0.9.1 (CASSANDRA-5923)
 +Merged from 1.2:
+  * Allow local batchlog writes for CL.ANY (CASSANDRA-5967)
+  * Optimize name query performance in wide rows (CASSANDRA-5966)
   * Upgrade metrics-core to version 2.2.0 (CASSANDRA-5947)
   * Add snitch, schema version, cluster, partitioner to JMX (CASSANDRA-5881)
   * Fix CqlRecordWriter with composite keys (CASSANDRA-5949)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/27df1bdd/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------


[5/6] git commit: merge from 1.2

Posted by jb...@apache.org.
merge from 1.2


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

Branch: refs/heads/cassandra-2.0
Commit: 27df1bdd225b6cdd125f34d805b751b618b8b417
Parents: d4884c7 3380fa7
Author: Jonathan Ellis <jb...@apache.org>
Authored: Sun Sep 1 14:34:38 2013 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Sun Sep 1 14:34:38 2013 -0500

----------------------------------------------------------------------
 CHANGES.txt                                             | 2 ++
 src/java/org/apache/cassandra/service/StorageProxy.java | 9 +++++++--
 2 files changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/27df1bdd/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index ee55941,89f66a8..82fea75
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,6 +1,19 @@@
 -1.2.10
 +2.0.1
 + * Improve leveled compaction's ability to find non-overlapping L0 compactions
 +   to work on concurrently (CASSANDRA-5921)
 + * Notify indexer of columns shadowed by range tombstones (CASSANDRA-5614)
 + * Log Merkle tree stats (CASSANDRA-2698)
 + * Switch from crc32 to adler32 for compressed sstable checksums (CASSANDRA-5862)
 + * Improve offheap memcpy performance (CASSANDRA-5884)
 + * Use a range aware scanner for cleanup (CASSANDRA-2524)
 + * Cleanup doesn't need to inspect sstables that contain only local data 
 +   (CASSANDRA-5722)
 + * Add ability for CQL3 to list partition keys (CASSANDRA-4536)
 + * Improve native protocol serialization (CASSANDRA-5664)
 + * Upgrade Thrift to 0.9.1 (CASSANDRA-5923)
 +Merged from 1.2:
+  * Allow local batchlog writes for CL.ANY (CASSANDRA-5967)
+  * Optimize name query performance in wide rows (CASSANDRA-5966)
   * Upgrade metrics-core to version 2.2.0 (CASSANDRA-5947)
   * Add snitch, schema version, cluster, partitioner to JMX (CASSANDRA-5881)
   * Fix CqlRecordWriter with composite keys (CASSANDRA-5949)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/27df1bdd/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------


[2/6] git commit: Allow local batchlog writes for CL.ANY patch by jbellis; reviewed by Aleksey for CASSANDRA-5967

Posted by jb...@apache.org.
Allow local batchlog writes for CL.ANY
patch by jbellis; reviewed by Aleksey for CASSANDRA-5967


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

Branch: refs/heads/cassandra-2.0
Commit: 3380fa7baf76998b7c2fdbcb85b23fa3f0099f7c
Parents: b14273b
Author: Jonathan Ellis <jb...@apache.org>
Authored: Sun Sep 1 14:34:11 2013 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Sun Sep 1 14:34:11 2013 -0500

----------------------------------------------------------------------
 CHANGES.txt                                             | 1 +
 src/java/org/apache/cassandra/service/StorageProxy.java | 9 +++++++--
 2 files changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3380fa7b/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 1943217..89f66a8 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.2.10
+ * Allow local batchlog writes for CL.ANY (CASSANDRA-5967)
  * Optimize name query performance in wide rows (CASSANDRA-5966)
  * Upgrade metrics-core to version 2.2.0 (CASSANDRA-5947)
  * Add snitch, schema version, cluster, partitioner to JMX (CASSANDRA-5881)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3380fa7b/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java
index ec27891..94db26d 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -261,7 +261,7 @@ public class StorageProxy implements StorageProxyMBean
             }
 
             // write to the batchlog
-            Collection<InetAddress> batchlogEndpoints = getBatchlogEndpoints(localDataCenter);
+            Collection<InetAddress> batchlogEndpoints = getBatchlogEndpoints(localDataCenter, consistency_level);
             UUID batchUUID = UUID.randomUUID();
             syncWriteToBatchlog(mutations, batchlogEndpoints, batchUUID);
 
@@ -418,7 +418,7 @@ public class StorageProxy implements StorageProxyMBean
      * - choose min(2, number of qualifying candiates above)
      * - allow the local node to be the only replica only if it's a single-node cluster
      */
-    private static Collection<InetAddress> getBatchlogEndpoints(String localDataCenter) throws UnavailableException
+    private static Collection<InetAddress> getBatchlogEndpoints(String localDataCenter, ConsistencyLevel consistencyLevel) throws UnavailableException
     {
         // will include every known node in the DC, including localhost.
         TokenMetadata.Topology topology = StorageService.instance.getTokenMetadata().cloneOnlyTokenMap().getTopology();
@@ -440,7 +440,12 @@ public class StorageProxy implements StorageProxyMBean
         }
 
         if (candidates.isEmpty())
+        {
+            if (consistencyLevel == ConsistencyLevel.ANY)
+                return Collections.singleton(FBUtilities.getBroadcastAddress());
+
             throw new UnavailableException(ConsistencyLevel.ONE, 1, 0);
+        }
 
         if (candidates.size() > 2)
         {