You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ty...@apache.org on 2015/12/22 23:26:45 UTC
[1/2] cassandra git commit: Avoid NoSuchElementException on empty
batch
Repository: cassandra
Updated Branches:
refs/heads/trunk cae395026 -> e5b6a9c8b
Avoid NoSuchElementException on empty batch
Patch by Tyler Hobbs; reviewed by Sylvain Lebresne for CASSANDRA-10711
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/796db6e0
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/796db6e0
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/796db6e0
Branch: refs/heads/trunk
Commit: 796db6e09c2c5f462df7d75513b3b765ed0404da
Parents: a2088b1
Author: Tyler Hobbs <ty...@gmail.com>
Authored: Tue Dec 22 16:24:11 2015 -0600
Committer: Tyler Hobbs <ty...@gmail.com>
Committed: Tue Dec 22 16:24:11 2015 -0600
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../apache/cassandra/cql3/statements/BatchStatement.java | 3 +++
test/unit/org/apache/cassandra/cql3/BatchTests.java | 9 ++++++---
3 files changed, 10 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/796db6e0/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index be39f29..7794c96 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
3.0.3
+ * Avoid NoSuchElementException when executing empty batch (CASSANDRA-10711)
* Avoid building PartitionUpdate in toString (CASSANDRA-10897)
* Reduce heap spent when receiving many SSTables (CASSANDRA-10797)
* Add back support for 3rd party auth providers to bulk loader (CASSANDRA-10873)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/796db6e0/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java b/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
index 1f1d507..dc7ef73 100644
--- a/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
@@ -340,6 +340,9 @@ public class BatchStatement implements CQLStatement
private void executeWithoutConditions(Collection<? extends IMutation> mutations, ConsistencyLevel cl) throws RequestExecutionException, RequestValidationException
{
+ if (mutations.isEmpty())
+ return;
+
// Extract each collection of updates from it's IMutation and then lazily concatenate all of them into a single Iterable.
Iterable<PartitionUpdate> updates = Iterables.concat(Iterables.transform(mutations, new Function<IMutation, Collection<PartitionUpdate>>()
{
http://git-wip-us.apache.org/repos/asf/cassandra/blob/796db6e0/test/unit/org/apache/cassandra/cql3/BatchTests.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql3/BatchTests.java b/test/unit/org/apache/cassandra/cql3/BatchTests.java
index 95fe612..73923fb 100644
--- a/test/unit/org/apache/cassandra/cql3/BatchTests.java
+++ b/test/unit/org/apache/cassandra/cql3/BatchTests.java
@@ -37,7 +37,6 @@ public class BatchTests
private static Cluster cluster;
private static Session session;
-
private static PreparedStatement counter;
private static PreparedStatement noncounter;
@@ -114,6 +113,12 @@ public class BatchTests
sendBatch(BatchStatement.Type.UNLOGGED, true, false);
}
+ @Test
+ public void testEmptyBatch()
+ {
+ session.execute("BEGIN BATCH APPLY BATCH");
+ session.execute("BEGIN UNLOGGED BATCH APPLY BATCH");
+ }
@Test(expected = InvalidQueryException.class)
public void testCounterInLoggedBatch()
@@ -133,8 +138,6 @@ public class BatchTests
session.execute(b);
}
-
-
public void sendBatch(BatchStatement.Type type, boolean addCounter, boolean addNonCounter)
{
[2/2] cassandra git commit: Merge branch 'cassandra-3.0' into trunk
Posted by ty...@apache.org.
Merge branch 'cassandra-3.0' into trunk
Conflicts:
CHANGES.txt
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e5b6a9c8
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e5b6a9c8
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e5b6a9c8
Branch: refs/heads/trunk
Commit: e5b6a9c8b289982c78ff9266db28aa21b28f23ef
Parents: cae3950 796db6e
Author: Tyler Hobbs <ty...@gmail.com>
Authored: Tue Dec 22 16:26:24 2015 -0600
Committer: Tyler Hobbs <ty...@gmail.com>
Committed: Tue Dec 22 16:26:24 2015 -0600
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../apache/cassandra/cql3/statements/BatchStatement.java | 3 +++
test/unit/org/apache/cassandra/cql3/BatchTests.java | 9 ++++++---
3 files changed, 10 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5b6a9c8/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 9f82731,7794c96..e36e4c2
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,28 -1,5 +1,29 @@@
-3.0.3
+3.2
+ * Add forceUserDefinedCleanup to allow more flexible cleanup (CASSANDRA-10708)
+ * (cqlsh) allow setting TTL with COPY (CASSANDRA-9494)
+ * Fix EstimatedHistogram creation in nodetool tablehistograms (CASSANDRA-10859)
+ * Establish bootstrap stream sessions sequentially (CASSANDRA-6992)
+ * Sort compactionhistory output by timestamp (CASSANDRA-10464)
+ * More efficient BTree removal (CASSANDRA-9991)
+ * Make tablehistograms accept the same syntax as tablestats (CASSANDRA-10149)
+ * Group pending compactions based on table (CASSANDRA-10718)
+ * Add compressor name in sstablemetadata output (CASSANDRA-9879)
+ * Fix type casting for counter columns (CASSANDRA-10824)
+ * Prevent running Cassandra as root (CASSANDRA-8142)
+ * bound maximum in-flight commit log replay mutation bytes to 64 megabytes (CASSANDRA-8639)
+ * Normalize all scripts (CASSANDRA-10679)
+ * Make compression ratio much more accurate (CASSANDRA-10225)
+ * Optimize building of Clustering object when only one is created (CASSANDRA-10409)
+ * Make index building pluggable (CASSANDRA-10681)
+ * Add sstable flush observer (CASSANDRA-10678)
+ * Improve NTS endpoints calculation (CASSANDRA-10200)
+ * Improve performance of the folderSize function (CASSANDRA-10677)
+ * Add support for type casting in selection clause (CASSANDRA-10310)
+ * Added graphing option to cassandra-stress (CASSANDRA-7918)
+ * Abort in-progress queries that time out (CASSANDRA-7392)
+ * Add transparent data encryption core classes (CASSANDRA-9945)
+Merged from 3.0:
+ * Avoid NoSuchElementException when executing empty batch (CASSANDRA-10711)
* Avoid building PartitionUpdate in toString (CASSANDRA-10897)
* Reduce heap spent when receiving many SSTables (CASSANDRA-10797)
* Add back support for 3rd party auth providers to bulk loader (CASSANDRA-10873)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5b6a9c8/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
----------------------------------------------------------------------