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/02/18 18:29:28 UTC
cassandra git commit: Fix CF reversal when querying reversed slices
Repository: cassandra
Updated Branches:
refs/heads/cassandra-2.0 7f10cbd8a -> 58e6a1d8d
Fix CF reversal when querying reversed slices
Patch by Tyler Hobbs and Sylvain Lebresne for CASSANDRA-8767
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/58e6a1d8
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/58e6a1d8
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/58e6a1d8
Branch: refs/heads/cassandra-2.0
Commit: 58e6a1d8d1ecdacbe8d470d27ca79281472270e3
Parents: 7f10cbd
Author: Tyler Hobbs <ty...@datastax.com>
Authored: Wed Feb 18 11:28:35 2015 -0600
Committer: Tyler Hobbs <ty...@datastax.com>
Committed: Wed Feb 18 11:28:35 2015 -0600
----------------------------------------------------------------------
CHANGES.txt | 2 ++
src/java/org/apache/cassandra/db/ColumnFamily.java | 7 ++++++-
.../apache/cassandra/service/pager/AbstractQueryPager.java | 5 ++---
3 files changed, 10 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/58e6a1d8/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 24f70a3..48751d9 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,6 @@
2.0.13:
+ * Fix AssertionError when querying a DESC clustering ordered
+ table with ASC ordering and paging (CASSANDRA-8767)
* AssertionError: "Memory was freed" when running cleanup (CASSANDRA-8716)
* Make it possible to set max_sstable_age to fractional days (CASSANDRA-8406)
* Fix memory leak in SSTableSimple*Writer and SSTableReader.validate() (CASSANDRA-8748)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/58e6a1d8/src/java/org/apache/cassandra/db/ColumnFamily.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/ColumnFamily.java b/src/java/org/apache/cassandra/db/ColumnFamily.java
index 19f8c16..38c72e0 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamily.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamily.java
@@ -74,7 +74,12 @@ public abstract class ColumnFamily implements Iterable<Column>, IRowCacheEntry
public ColumnFamily cloneMeShallow()
{
- return cloneMeShallow(getFactory(), isInsertReversed());
+ return cloneMeShallow(false);
+ }
+
+ public ColumnFamily cloneMeShallow(boolean reversed)
+ {
+ return cloneMeShallow(getFactory(), reversed);
}
public ColumnFamilyType getType()
http://git-wip-us.apache.org/repos/asf/cassandra/blob/58e6a1d8/src/java/org/apache/cassandra/service/pager/AbstractQueryPager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/pager/AbstractQueryPager.java b/src/java/org/apache/cassandra/service/pager/AbstractQueryPager.java
index 4210296..c45dd07 100644
--- a/src/java/org/apache/cassandra/service/pager/AbstractQueryPager.java
+++ b/src/java/org/apache/cassandra/service/pager/AbstractQueryPager.java
@@ -17,7 +17,6 @@
*/
package org.apache.cassandra.service.pager;
-import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -215,7 +214,7 @@ abstract class AbstractQueryPager implements QueryPager
{
Row first = rows.get(i++);
firstKey = first.key;
- firstCf = first.cf.cloneMeShallow();
+ firstCf = first.cf.cloneMeShallow(isReversed());
toDiscard -= isReversed()
? discardLast(first.cf, toDiscard, firstCf)
: discardFirst(first.cf, toDiscard, firstCf);
@@ -255,7 +254,7 @@ abstract class AbstractQueryPager implements QueryPager
{
Row last = rows.get(i--);
lastKey = last.key;
- lastCf = last.cf.cloneMeShallow();
+ lastCf = last.cf.cloneMeShallow(isReversed());
toDiscard -= isReversed()
? discardFirst(last.cf, toDiscard, lastCf)
: discardLast(last.cf, toDiscard, lastCf);