You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sl...@apache.org on 2013/09/23 16:42:31 UTC
[1/2] git commit: Fix thrift validation refusing row markers on CQL3
tables
Updated Branches:
refs/heads/cassandra-2.0 5176ce715 -> fb5584979
Fix thrift validation refusing row markers on CQL3 tables
patch by slebresne; reviewed by jbellis for CASSANDRA-6081
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ba59423b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ba59423b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ba59423b
Branch: refs/heads/cassandra-2.0
Commit: ba59423b69b6d3c8c8372ee1ee40ffddf0f9d2ad
Parents: 5176ce7
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Mon Sep 23 16:39:45 2013 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Mon Sep 23 16:39:45 2013 +0200
----------------------------------------------------------------------
CHANGES.txt | 1 +
src/java/org/apache/cassandra/thrift/ThriftValidation.java | 3 +++
2 files changed, 4 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba59423b/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index bae83ca..cd23fbf 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -5,6 +5,7 @@ Merged from 1.2:
* Allow where clause conditions to be in parenthesis (CASSANDRA-6037)
* Do not open non-ssl storage port if encryption option is all (CASSANDRA-3916)
* Improve memory usage of metadata min/max column names (CASSANDRA-6077)
+ * Fix thrift validation refusing row markers on CQL3 tables (CASSANDRA-6081)
2.0.1
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba59423b/src/java/org/apache/cassandra/thrift/ThriftValidation.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/thrift/ThriftValidation.java b/src/java/org/apache/cassandra/thrift/ThriftValidation.java
index 6f6a5eb..012a943 100644
--- a/src/java/org/apache/cassandra/thrift/ThriftValidation.java
+++ b/src/java/org/apache/cassandra/thrift/ThriftValidation.java
@@ -241,6 +241,9 @@ public class ThriftValidation
// Furthermore, the column name must be a declared one.
int columnIndex = composite.types.size() - (cfDef.hasCollections ? 2 : 1);
ByteBuffer CQL3ColumnName = components[columnIndex];
+ if (!CQL3ColumnName.hasRemaining())
+ continue; // Row marker, ok
+
ColumnIdentifier columnId = new ColumnIdentifier(CQL3ColumnName, composite.types.get(columnIndex));
if (cfDef.metadata.get(columnId) == null)
throw new org.apache.cassandra.exceptions.InvalidRequestException(String.format("Invalid cell for CQL3 table %s. The CQL3 column component (%s) does not correspond to a defined CQL3 column",
[2/2] git commit: Fix insertion of collections with CAS
Posted by sl...@apache.org.
Fix insertion of collections with CAS
patch by slebresne; reviewed by iamaleksey for CASSANDRA-6069
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fb558497
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fb558497
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fb558497
Branch: refs/heads/cassandra-2.0
Commit: fb55849795ca918f08412fc00fb1a8b8eaa13065
Parents: ba59423
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Mon Sep 23 16:41:45 2013 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Mon Sep 23 16:41:45 2013 +0200
----------------------------------------------------------------------
CHANGES.txt | 3 ++-
src/java/org/apache/cassandra/service/paxos/Commit.java | 5 ++++-
2 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/fb558497/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index cd23fbf..88daf35 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,11 +1,12 @@
2.0.2
* Move batchlog replay to its own executor (CASSANDRA-6079)
+ * Fix thrift validation refusing row markers on CQL3 tables (CASSANDRA-6081)
+ * Fix insertion of collections with CAS (CASSANDRA-6069)
Merged from 1.2:
* Improve memory usage of metadata min/max column names (CASSANDRA-6077)
* Allow where clause conditions to be in parenthesis (CASSANDRA-6037)
* Do not open non-ssl storage port if encryption option is all (CASSANDRA-3916)
* Improve memory usage of metadata min/max column names (CASSANDRA-6077)
- * Fix thrift validation refusing row markers on CQL3 tables (CASSANDRA-6081)
2.0.1
http://git-wip-us.apache.org/repos/asf/cassandra/blob/fb558497/src/java/org/apache/cassandra/service/paxos/Commit.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/paxos/Commit.java b/src/java/org/apache/cassandra/service/paxos/Commit.java
index 84589cc..9904045 100644
--- a/src/java/org/apache/cassandra/service/paxos/Commit.java
+++ b/src/java/org/apache/cassandra/service/paxos/Commit.java
@@ -116,7 +116,10 @@ public class Commit
{
ColumnFamily cf = updates.cloneMeShallow();
long t = UUIDGen.microsTimestamp(ballot);
- cf.deletionInfo().updateAllTimestamp(t);
+ // For the tombstones, we use t-1 so that when insert a collection literall, the range tombstone that deletes the previous values of
+ // the collection and we want that to have a lower timestamp and our new values. Since tombstones wins over normal insert, using t-1
+ // should not be a problem in general (see #6069).
+ cf.deletionInfo().updateAllTimestamp(t-1);
for (Column column : updates)
cf.addAtom(column.withUpdatedTimestamp(t));
return cf;