Merge branch 'cassandra-2.1' into trunk

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

Branch: refs/heads/trunk
Commit: 51cdeed483d4b00f6cc35d260745019da4c0d113
Parents: 2472701 e77ea12
Author: Benedict Elliott Smith <bened...@apache.org>
Authored: Mon Jun 30 14:31:52 2014 +0100
Committer: Benedict Elliott Smith <bened...@apache.org>
Committed: Mon Jun 30 14:31:52 2014 +0100

----------------------------------------------------------------------
 build.xml                                       |   4 +-
 conf/cassandra-env.sh                           |   4 +
 conf/cassandra.yaml                             |   2 +-
 .../apache/cassandra/db/AbstractNativeCell.java |  55 ++++-
 .../cassandra/db/ArrayBackedSortedColumns.java  |   4 +-
 .../apache/cassandra/db/AtomicBTreeColumns.java |  13 +-
 .../apache/cassandra/db/BufferDecoratedKey.java |   2 +
 .../cassandra/db/CollationController.java       |   2 +
 .../apache/cassandra/db/ConsistencyLevel.java   |   2 +
 .../org/apache/cassandra/db/DecoratedKey.java   |   3 +
 .../apache/cassandra/db/NativeDecoratedKey.java |   3 +-
 .../cassandra/db/composites/AbstractCType.java  |  93 ++++++--
 .../db/composites/AbstractCellNameType.java     |  23 +-
 .../AbstractCompoundCellNameType.java           |   2 +
 .../composites/AbstractSimpleCellNameType.java  |  80 +++++--
 .../apache/cassandra/db/composites/CType.java   |   2 +
 .../cassandra/db/composites/CellNameType.java   |   3 +-
 .../cassandra/db/composites/Composites.java     |   5 +-
 .../composites/CompoundSparseCellNameType.java  |   2 -
 .../cassandra/db/composites/SimpleCType.java    |  22 +-
 .../apache/cassandra/db/filter/ColumnSlice.java |  52 +++--
 .../cassandra/db/filter/NamesQueryFilter.java   |   2 +-
 .../cassandra/db/filter/SliceQueryFilter.java   |   2 +-
 .../cassandra/io/sstable/IndexHelper.java       |   4 +-
 .../org/apache/cassandra/io/util/Memory.java    |   3 +-
 .../apache/cassandra/service/StorageProxy.java  |   3 +
 .../cassandra/thrift/CassandraServer.java       |  15 +-
 .../apache/cassandra/utils/ByteBufferUtil.java  |   4 +
 .../cassandra/utils/FastByteOperations.java     | 226 +++++++++----------
 .../org/apache/cassandra/utils/MurmurHash.java  |   3 +
 .../cassandra/utils/btree/NodeBuilder.java      |   4 +-
 .../cassandra/utils/memory/MemoryUtil.java      |   1 +
 .../org/apache/cassandra/db/NativeCellTest.java |  80 +++++++
 .../cassandra/db/composites/CTypeTest.java      |   9 -
 .../cassandra/db/filter/ColumnSliceTest.java    |   4 +-
 35 files changed, 501 insertions(+), 237 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/51cdeed4/build.xml
----------------------------------------------------------------------
diff --cc build.xml
index 27ac9c5,bc2bbfd..6ea57bc
--- a/build.xml
+++ b/build.xml
@@@ -423,8 -432,8 +423,9 @@@
                <dependency groupId="org.apache.hadoop" 
artifactId="hadoop-minicluster"/>
          <dependency groupId="org.apache.pig" artifactId="pig"/>
                <dependency groupId="com.google.code.findbugs" 
artifactId="jsr305"/>
 +        <dependency groupId="org.antlr" artifactId="antlr"/>
          <dependency groupId="com.datastax.cassandra" 
artifactId="cassandra-driver-core"/>
+       <dependency groupId="net.ju-n.compile-command-annotations" 
artifactId="compile-command-annotations"/>
        </artifact:pom>
  
        <artifact:pom id="coverage-deps-pom"

http://git-wip-us.apache.org/repos/asf/cassandra/blob/51cdeed4/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/51cdeed4/src/java/org/apache/cassandra/db/AtomicBTreeColumns.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/51cdeed4/src/java/org/apache/cassandra/db/CollationController.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/51cdeed4/src/java/org/apache/cassandra/db/ConsistencyLevel.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/51cdeed4/src/java/org/apache/cassandra/db/composites/CType.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/51cdeed4/src/java/org/apache/cassandra/db/composites/CellNameType.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/51cdeed4/src/java/org/apache/cassandra/db/filter/NamesQueryFilter.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/51cdeed4/src/java/org/apache/cassandra/io/util/Memory.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/io/util/Memory.java
index b908a9d,5306433..5b90d39
--- a/src/java/org/apache/cassandra/io/util/Memory.java
+++ b/src/java/org/apache/cassandra/io/util/Memory.java
@@@ -20,7 -20,9 +20,8 @@@ package org.apache.cassandra.io.util
  import java.nio.ByteBuffer;
  import java.nio.ByteOrder;
  
 -import com.sun.jna.Native;
  import org.apache.cassandra.config.DatabaseDescriptor;
+ import org.apache.cassandra.utils.FastByteOperations;
  import org.apache.cassandra.utils.memory.MemoryUtil;
  import sun.misc.Unsafe;
  import sun.nio.ch.DirectBuffer;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/51cdeed4/src/java/org/apache/cassandra/thrift/CassandraServer.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/thrift/CassandraServer.java
index 9a8ef8a,0621db9..343b811
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@@ -2037,13 -2071,17 +2037,16 @@@ public class CassandraServer implement
                  fixOptionalSliceParameters(request.getColumn_slices().get(i));
                  Composite start = 
metadata.comparator.fromByteBuffer(request.getColumn_slices().get(i).start);
                  Composite finish = 
metadata.comparator.fromByteBuffer(request.getColumn_slices().get(i).finish);
-                 int compare = metadata.comparator.compare(start, finish);
-                 if (!request.reversed && compare > 0)
-                     throw new InvalidRequestException(String.format("Column 
slice at index %d had start greater than finish", i));
-                 else if (request.reversed && compare < 0)
-                     throw new InvalidRequestException(String.format("Reversed 
column slice at index %d had start less than finish", i));
+                 if (!start.isEmpty() && !finish.isEmpty())
+                 {
+                     int compare = metadata.comparator.compare(start, finish);
+                     if (!request.reversed && compare > 0)
+                         throw new 
InvalidRequestException(String.format("Column slice at index %d had start 
greater than finish", i));
+                     else if (request.reversed && compare < 0)
+                         throw new 
InvalidRequestException(String.format("Reversed column slice at index %d had 
start less than finish", i));
+                 }
                  slices[i] = new ColumnSlice(start, finish);
              }
 -
              ColumnSlice[] deoverlapped = ColumnSlice.deoverlapSlices(slices, 
request.reversed ? metadata.comparator.reverseComparator() : 
metadata.comparator);
              SliceQueryFilter filter = new SliceQueryFilter(deoverlapped, 
request.reversed, request.count);
              ThriftValidation.validateKey(metadata, request.key);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/51cdeed4/src/java/org/apache/cassandra/utils/ByteBufferUtil.java
----------------------------------------------------------------------

Reply via email to