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 2015/09/18 16:31:50 UTC

[1/2] cassandra git commit: Fix possible ClassCastException during paging

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 dcada8baf -> f3ad68cb4


Fix possible ClassCastException during paging

In the case of DISTINCT query involving static columns and a IN on
the partition key, it's possible to hit a ClassCastException when
restoring the PagingState in SliceQueryPager because it assumes the
cellname in said PagingState is a valid CellName even though it will
be empty in that case.


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

Branch: refs/heads/cassandra-2.2
Commit: 0c1432ac7b4b0464351fb23196cf9070c05d0bd3
Parents: d0c166f
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Wed Sep 16 13:17:18 2015 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Fri Sep 18 16:30:56 2015 +0200

----------------------------------------------------------------------
 CHANGES.txt                                                   | 1 +
 .../org/apache/cassandra/service/pager/SliceQueryPager.java   | 7 ++++---
 2 files changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0c1432ac/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index f629050..deec093 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.10
+ * Fix potential ClassCastException during paging (CASSANDRA-10352)
  * Prevent ALTER TYPE from creating circular references (CASSANDRA-10339)
  * Fix cache handling of 2i and base tables (CASSANDRA-10155, 10359)
  * Fix NPE in nodetool compactionhistory (CASSANDRA-9758)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0c1432ac/src/java/org/apache/cassandra/service/pager/SliceQueryPager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/pager/SliceQueryPager.java b/src/java/org/apache/cassandra/service/pager/SliceQueryPager.java
index 520fc34..c8572d4 100644
--- a/src/java/org/apache/cassandra/service/pager/SliceQueryPager.java
+++ b/src/java/org/apache/cassandra/service/pager/SliceQueryPager.java
@@ -59,9 +59,10 @@ public class SliceQueryPager extends AbstractQueryPager implements SinglePartiti
 
         if (state != null)
         {
-            // The only case where this could be a non-CellName Composite is if it's Composites.EMPTY, but that's not
-            // valid for PagingState.cellName, so we can safely cast to CellName.
-            lastReturned = (CellName) cfm.comparator.fromByteBuffer(state.cellName);
+            // The cellname can be empty if this is used in a MultiPartitionPager and we're supposed to start reading this row
+            // (because the previous page has exhausted the previous pager). See #10352 for details.
+            if (state.cellName.hasRemaining())
+                lastReturned = (CellName) cfm.comparator.fromByteBuffer(state.cellName);
             restoreState(state.remaining, true);
         }
     }


[2/2] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

Posted by sl...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2

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/f3ad68cb
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f3ad68cb
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f3ad68cb

Branch: refs/heads/cassandra-2.2
Commit: f3ad68cb4e4bf1ebdcd2f93e54a7b422d024512d
Parents: dcada8b 0c1432a
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Fri Sep 18 16:31:39 2015 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Fri Sep 18 16:31:39 2015 +0200

----------------------------------------------------------------------
 CHANGES.txt                                                   | 1 +
 .../org/apache/cassandra/service/pager/SliceQueryPager.java   | 7 ++++---
 2 files changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f3ad68cb/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 97858c5,deec093..a83fd53
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,14 -1,5 +1,15 @@@
 -2.1.10
 +2.2.2
 + * Defer default role manager setup until all nodes are on 2.2+ (CASSANDRA-9761)
 + * Cancel transaction for sstables we wont redistribute index summary
 +   for (CASSANDRA-10270)
 + * Handle missing RoleManager in config after upgrade to 2.2 (CASSANDRA-10209) 
 + * Retry snapshot deletion after compaction and gc on Windows (CASSANDRA-10222)
 + * Fix failure to start with space in directory path on Windows (CASSANDRA-10239)
 + * Fix repair hang when snapshot failed (CASSANDRA-10057)
 + * Fall back to 1/4 commitlog volume for commitlog_total_space on small disks
 +   (CASSANDRA-10199)
 +Merged from 2.1:
+  * Fix potential ClassCastException during paging (CASSANDRA-10352)
   * Prevent ALTER TYPE from creating circular references (CASSANDRA-10339)
   * Fix cache handling of 2i and base tables (CASSANDRA-10155, 10359)
   * Fix NPE in nodetool compactionhistory (CASSANDRA-9758)