You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by al...@apache.org on 2014/08/11 12:45:57 UTC

[1/3] git commit: (Thrift) fix range deletion of supercolumns

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 f7c994e23 -> 1fee61520


(Thrift) fix range deletion of supercolumns

patch by Aleksey Yeschenko; reviewed by Sylvain Lebresne for
CASSANDRA-7733


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

Branch: refs/heads/cassandra-2.1
Commit: f732a8b3c5bb4af8906fb99b3a3cfc247d461200
Parents: 6976d82
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Mon Aug 11 13:39:06 2014 +0300
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Mon Aug 11 13:40:13 2014 +0300

----------------------------------------------------------------------
 CHANGES.txt                                               | 4 ++++
 src/java/org/apache/cassandra/thrift/CassandraServer.java | 2 +-
 test/system/test_thrift_server.py                         | 2 +-
 3 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f732a8b3/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 9c78d07..723b978 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,7 @@
+2.0.11
+ * (Thrift) fix range deletion of supercolumns (CASSANDRA-7733)
+
+
 2.0.10
  * Fix potential AssertionError in RangeTombstoneList (CASSANDRA-7700)
  * Validate arguments of blobAs* functions (CASSANDRA-7707)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f732a8b3/src/java/org/apache/cassandra/thrift/CassandraServer.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/thrift/CassandraServer.java b/src/java/org/apache/cassandra/thrift/CassandraServer.java
index d47d988..cfb0e80 100644
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@ -911,7 +911,7 @@ public class CassandraServer implements Cassandra.Iface
             if (del.super_column == null && Schema.instance.getColumnFamilyType(rm.getKeyspaceName(), cfName) == ColumnFamilyType.Super)
                 rm.deleteRange(cfName,
                                SuperColumns.startOf(del.predicate.getSlice_range().start),
-                               SuperColumns.startOf(del.predicate.getSlice_range().finish),
+                               SuperColumns.endOf(del.predicate.getSlice_range().finish),
                                del.timestamp);
             else if (del.super_column != null)
                 rm.deleteRange(cfName,

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f732a8b3/test/system/test_thrift_server.py
----------------------------------------------------------------------
diff --git a/test/system/test_thrift_server.py b/test/system/test_thrift_server.py
index 5f09475..1e43532 100644
--- a/test/system/test_thrift_server.py
+++ b/test/system/test_thrift_server.py
@@ -654,7 +654,7 @@ class TestMutations(ThriftTester):
             for subcolumn in column.columns:
                 client.insert('key', ColumnParent('Super1', column.name), subcolumn, ConsistencyLevel.ONE)
 
-        d = Deletion(1, predicate=SlicePredicate(slice_range=SliceRange(start='sc2', finish='sc5')))
+        d = Deletion(1, predicate=SlicePredicate(slice_range=SliceRange(start='sc2', finish='sc4')))
         client.batch_mutate({'key': {'Super1' : [Mutation(deletion=d)]}}, ConsistencyLevel.ONE)
 
         _assert_columnpath_exists('key', ColumnPath('Super1', super_column='sc1', column=_i64(1)))


[3/3] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

Posted by al...@apache.org.
Merge branch 'cassandra-2.1.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/1fee6152
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1fee6152
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1fee6152

Branch: refs/heads/cassandra-2.1
Commit: 1fee61520ee47820e9938f8e78db884309e3a7e5
Parents: f7c994e ef08f94
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Mon Aug 11 13:45:39 2014 +0300
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Mon Aug 11 13:45:39 2014 +0300

----------------------------------------------------------------------
 CHANGES.txt                                               | 1 +
 src/java/org/apache/cassandra/thrift/CassandraServer.java | 2 +-
 test/system/test_thrift_server.py                         | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/1fee6152/src/java/org/apache/cassandra/thrift/CassandraServer.java
----------------------------------------------------------------------


[2/3] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0

Posted by al...@apache.org.
Merge branch 'cassandra-2.0' into cassandra-2.1.0

Conflicts:
	CHANGES.txt
	src/java/org/apache/cassandra/thrift/CassandraServer.java


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

Branch: refs/heads/cassandra-2.1
Commit: ef08f949fed2fb428259c8a3e73b4a804390e57b
Parents: 228f0ad f732a8b
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Mon Aug 11 13:45:11 2014 +0300
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Mon Aug 11 13:45:11 2014 +0300

----------------------------------------------------------------------
 CHANGES.txt                                               | 1 +
 src/java/org/apache/cassandra/thrift/CassandraServer.java | 2 +-
 test/system/test_thrift_server.py                         | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ef08f949/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 3174466,723b978..910feb4
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,11 -1,8 +1,12 @@@
 -2.0.11
 +2.1.0-rc6
 + * Include stress yaml example in release and deb (CASSANDRA-7717)
 + * workaround for netty issue causing corrupted data off the wire (CASSANDRA-7695)
 + * cqlsh DESC CLUSTER fails retrieving ring information (CASSANDRA-7687)
 + * Fix binding null values inside UDT (CASSANDRA-7685)
 + * Fix UDT field selection with empty fields (CASSANDRA-7670)
 + * Bogus deserialization of static cells from sstable (CASSANDRA-7684)
 +Merged from 2.0:
+  * (Thrift) fix range deletion of supercolumns (CASSANDRA-7733)
 -
 -
 -2.0.10
   * Fix potential AssertionError in RangeTombstoneList (CASSANDRA-7700)
   * Validate arguments of blobAs* functions (CASSANDRA-7707)
   * Fix potential AssertionError with 2ndary indexes (CASSANDRA-6612)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ef08f949/src/java/org/apache/cassandra/thrift/CassandraServer.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/thrift/CassandraServer.java
index 4edb64d,cfb0e80..191c7ad
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@@ -922,21 -908,18 +922,21 @@@ public class CassandraServer implement
          }
          else if (del.predicate != null && del.predicate.slice_range != null)
          {
 -            if (del.super_column == null && Schema.instance.getColumnFamilyType(rm.getKeyspaceName(), cfName) == ColumnFamilyType.Super)
 -                rm.deleteRange(cfName,
 -                               SuperColumns.startOf(del.predicate.getSlice_range().start),
 -                               SuperColumns.endOf(del.predicate.getSlice_range().finish),
 -                               del.timestamp);
 +            if (del.super_column == null && cfm.isSuper())
 +                mutation.deleteRange(cfm.cfName,
 +                                     SuperColumns.startOf(del.predicate.getSlice_range().start),
-                                      SuperColumns.startOf(del.predicate.getSlice_range().finish),
++                                     SuperColumns.endOf(del.predicate.getSlice_range().finish),
 +                                     del.timestamp);
              else if (del.super_column != null)
 -                rm.deleteRange(cfName,
 -                               CompositeType.build(del.super_column, del.predicate.getSlice_range().start),
 -                               CompositeType.build(del.super_column, del.predicate.getSlice_range().finish),
 -                               del.timestamp);
 +                mutation.deleteRange(cfm.cfName,
 +                                     cfm.comparator.makeCellName(del.super_column, del.predicate.getSlice_range().start),
 +                                     cfm.comparator.makeCellName(del.super_column, del.predicate.getSlice_range().finish),
 +                                     del.timestamp);
              else
 -                rm.deleteRange(cfName, del.predicate.getSlice_range().start, del.predicate.getSlice_range().finish, del.timestamp);
 +                mutation.deleteRange(cfm.cfName,
 +                                     cfm.comparator.cellFromByteBuffer(del.predicate.getSlice_range().start),
 +                                     cfm.comparator.cellFromByteBuffer(del.predicate.getSlice_range().finish),
 +                                     del.timestamp);
          }
          else
          {