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;