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/11/12 19:13:11 UTC

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

Merge branch 'cassandra-1.2' into cassandra-2.0

Conflicts:
	src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
	src/java/org/apache/cassandra/tools/SSTableImport.java


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

Branch: refs/heads/cassandra-2.0
Commit: c6af75a19b3d19fdb3aa6040b655793b58b0db97
Parents: 2cc4670 3cb5854
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Tue Nov 12 19:13:00 2013 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Tue Nov 12 19:13:00 2013 +0100

----------------------------------------------------------------------
 CHANGES.txt                                       |  2 ++
 .../cql3/statements/SelectStatement.java          |  2 +-
 .../org/apache/cassandra/tools/SSTableImport.java | 18 +++++++++++++++---
 3 files changed, 18 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c6af75a1/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index cc5fb9e,7abf5d8..424a9f4
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -34,42 -14,11 +34,44 @@@ Merged from 1.2
   * Fix potential socket leak in connectionpool creation (CASSANDRA-6308)
   * Allow LOCAL_ONE/LOCAL_QUORUM to work with SimpleStrategy (CASSANDRA-6238)
   * cqlsh: handle 'null' as session duration (CASSANDRA-6317)
+  * Fix json2sstable handling of range tombstones (CASSANDRA-6316)
+  * Fix missing one row in reverse query (CASSANDRA-6330)
  
  
 -1.2.11
 +2.0.2
 + * Update FailureDetector to use nanontime (CASSANDRA-4925)
 + * Fix FileCacheService regressions (CASSANDRA-6149)
 + * Never return WriteTimeout for CL.ANY (CASSANDRA-6032)
 + * Fix race conditions in bulk loader (CASSANDRA-6129)
 + * Add configurable metrics reporting (CASSANDRA-4430)
 + * drop queries exceeding a configurable number of tombstones (CASSANDRA-6117)
 + * Track and persist sstable read activity (CASSANDRA-5515)
 + * Fixes for speculative retry (CASSANDRA-5932, CASSANDRA-6194)
 + * Improve memory usage of metadata min/max column names (CASSANDRA-6077)
 + * Fix thrift validation refusing row markers on CQL3 tables (CASSANDRA-6081)
 + * Fix insertion of collections with CAS (CASSANDRA-6069)
 + * Correctly send metadata on SELECT COUNT (CASSANDRA-6080)
 + * Track clients' remote addresses in ClientState (CASSANDRA-6070)
 + * Create snapshot dir if it does not exist when migrating
 +   leveled manifest (CASSANDRA-6093)
 + * make sequential nodetool repair the default (CASSANDRA-5950)
 + * Add more hooks for compaction strategy implementations (CASSANDRA-6111)
 + * Fix potential NPE on composite 2ndary indexes (CASSANDRA-6098)
 + * Delete can potentially be skipped in batch (CASSANDRA-6115)
 + * Allow alter keyspace on system_traces (CASSANDRA-6016)
 + * Disallow empty column names in cql (CASSANDRA-6136)
 + * Use Java7 file-handling APIs and fix file moving on Windows (CASSANDRA-5383)
 + * Save compaction history to system keyspace (CASSANDRA-5078)
 + * Fix NPE if StorageService.getOperationMode() is executed before full startup (CASSANDRA-6166)
 + * CQL3: support pre-epoch longs for TimestampType (CASSANDRA-6212)
 + * Add reloadtriggers command to nodetool (CASSANDRA-4949)
 + * cqlsh: ignore empty 'value alias' in DESCRIBE (CASSANDRA-6139)
 + * Fix sstable loader (CASSANDRA-6205)
 + * Reject bootstrapping if the node already exists in gossip (CASSANDRA-5571)
 + * Fix NPE while loading paxos state (CASSANDRA-6211)
 + * cqlsh: add SHOW SESSION <tracing-session> command (CASSANDRA-6228)
 +Merged from 1.2:
 + * (Hadoop) Require CFRR batchSize to be at least 2 (CASSANDRA-6114)
   * Add a warning for small LCS sstable size (CASSANDRA-6191)
   * Add ability to list specific KS/CF combinations in nodetool cfstats (CASSANDRA-4191)
   * Mark CF clean if a mutation raced the drop and got it marked dirty (CASSANDRA-5946)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c6af75a1/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
index 14400d5,c1c88ba..4b9a334
--- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
@@@ -405,35 -374,17 +405,35 @@@ public class SelectStatement implement
          }
      }
  
 -    private int getLimit()
 +    private int getLimit(List<ByteBuffer> variables) throws InvalidRequestException
      {
 -        // Internally, we don't support exclusive bounds for COMPACT slices. Instead, when we know we have an exlcusive
 -        // slice on a COMPACT table, we query one more element (to make sure we don't return less results than asked post-exclusion)
 -        // and exclude the post-query. Note that while we might excluse both the START and END bound, there is no reason to
 -        // ask for limit + 2 since if we exlude both bound from the result it means we can't have missed non-fetched results.
 -        return (sliceRestriction != null
 -                && parameters.limit != Integer.MAX_VALUE
 -                && (!sliceRestriction.isInclusive(Bound.START) || !sliceRestriction.isInclusive(Bound.END)))
 -             ? parameters.limit + 1
 -             : parameters.limit;
 +        int l = Integer.MAX_VALUE;
 +        if (limit != null)
 +        {
 +            ByteBuffer b = limit.bindAndGet(variables);
 +            if (b == null)
 +                throw new InvalidRequestException("Invalid null value of limit");
 +
 +            try
 +            {
 +                Int32Type.instance.validate(b);
 +                l = Int32Type.instance.compose(b);
 +            }
 +            catch (MarshalException e)
 +            {
 +                throw new InvalidRequestException("Invalid limit value");
 +            }
 +        }
 +
 +        if (l <= 0)
 +            throw new InvalidRequestException("LIMIT must be strictly positive");
 +
 +        // Internally, we don't support exclusive bounds for slices. Instead,
 +        // we query one more element if necessary and exclude
-         if (sliceRestriction != null && !sliceRestriction.isInclusive(Bound.START) && l != Integer.MAX_VALUE)
++        if (sliceRestriction != null && (!sliceRestriction.isInclusive(Bound.START) || !sliceRestriction.isInclusive(Bound.END)) && l != Integer.MAX_VALUE)
 +            l += 1;
 +
 +        return l;
      }
  
      private Collection<ByteBuffer> getKeys(final List<ByteBuffer> variables) throws InvalidRequestException

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c6af75a1/src/java/org/apache/cassandra/tools/SSTableImport.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/tools/SSTableImport.java
index 79584c5,80d1aad..0e8172b
--- a/src/java/org/apache/cassandra/tools/SSTableImport.java
+++ b/src/java/org/apache/cassandra/tools/SSTableImport.java
@@@ -26,9 -27,7 +27,8 @@@ import java.util.List
  import java.util.Map;
  import java.util.SortedMap;
  import java.util.TreeMap;
 +import java.util.concurrent.TimeUnit;
  
- import org.apache.cassandra.serializers.MarshalException;
  import org.apache.commons.cli.CommandLine;
  import org.apache.commons.cli.CommandLineParser;
  import org.apache.commons.cli.Option;