Merge branch 'cassandra-2.0' into cassandra-2.1
Conflicts:
CHANGES.txt
src/java/org/apache/cassandra/cql3/ColumnCondition.java
src/java/org/apache/cassandra/cql3/statements/CQL3CasConditions.java
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7e0f7a0f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7e0f7a0f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7e0f7a0f
Branch: refs/heads/cassandra-2.1
Commit: 7e0f7a0ff5ab637624938067bf1f2593077eecd2
Parents: b17a1e7 f3be42f
Author: Sylvain Lebresne <[email protected]>
Authored: Fri Mar 7 12:23:51 2014 +0100
Committer: Sylvain Lebresne <[email protected]>
Committed: Fri Mar 7 12:23:51 2014 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/cql3/statements/CQL3CasConditions.java | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/7e0f7a0f/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index ae2f67f,920f073..98fc33c
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -49,44 -36,24 +49,45 @@@ Merged from 2.0
* FBUtilities.singleton() should use the CF comparator (CASSANDRA-6778)
* Fix CQLSStableWriter.addRow(Map<String, Object>) (CASSANDRA-6526)
* Fix HSHA server introducing corrupt data (CASSANDRA-6285)
+ * Fix CAS conditions for COMPACT STORAGE tables (CASSANDRA-6813)
-Merged from 1.2:
- * Add CMSClassUnloadingEnabled JVM option (CASSANDRA-6541)
- * Catch memtable flush exceptions during shutdown (CASSANDRA-6735)
- * Fix broken streams when replacing with same IP (CASSANDRA-6622)
- * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645)
- * Fix partition and range deletes not triggering flush (CASSANDRA-6655)
- * Fix mean cells and mean row size per sstable calculations (CASSANDRA-6667)
- * Compact hints after partial replay to clean out tombstones (CASSANDRA-6666)
- * Log USING TTL/TIMESTAMP in a counter update warning (CASSANDRA-6649)
- * Don't exchange schema between nodes with different versions
(CASSANDRA-6695)
- * Use real node messaging versions for schema exchange decisions
(CASSANDRA-6700)
- * IN on the last clustering columns + ORDER BY DESC yield no results
(CASSANDRA-6701)
- * Fix SecondaryIndexManager#deleteFromIndexes() (CASSANDRA-6711)
- * Fix snapshot repair not snapshotting coordinator itself (CASSANDRA-6713)
- * Support negative timestamps for CQL3 dates in query string (CASSANDRA-6718)
- * Avoid NPEs when receiving table changes for an unknown keyspace
(CASSANDRA-5631)
- * Fix bootstrapping when there is no schema (CASSANDRA-6685)
+
+
+2.1.0-beta1
+ * Add flush directory distinct from compaction directories (CASSANDRA-6357)
+ * Require JNA by default (CASSANDRA-6575)
+ * add listsnapshots command to nodetool (CASSANDRA-5742)
+ * Introduce AtomicBTreeColumns (CASSANDRA-6271, 6692)
+ * Multithreaded commitlog (CASSANDRA-3578)
+ * allocate fixed index summary memory pool and resample cold index summaries
+ to use less memory (CASSANDRA-5519)
+ * Removed multithreaded compaction (CASSANDRA-6142)
+ * Parallelize fetching rows for low-cardinality indexes (CASSANDRA-1337)
+ * change logging from log4j to logback (CASSANDRA-5883)
+ * switch to LZ4 compression for internode communication (CASSANDRA-5887)
+ * Stop using Thrift-generated Index* classes internally (CASSANDRA-5971)
+ * Remove 1.2 network compatibility code (CASSANDRA-5960)
+ * Remove leveled json manifest migration code (CASSANDRA-5996)
+ * Remove CFDefinition (CASSANDRA-6253)
+ * Use AtomicIntegerFieldUpdater in RefCountedMemory (CASSANDRA-6278)
+ * User-defined types for CQL3 (CASSANDRA-5590)
+ * Use of o.a.c.metrics in nodetool (CASSANDRA-5871, 6406)
+ * Batch read from OTC's queue and cleanup (CASSANDRA-1632)
+ * Secondary index support for collections (CASSANDRA-4511, 6383)
+ * SSTable metadata(Stats.db) format change (CASSANDRA-6356)
+ * Push composites support in the storage engine
+ (CASSANDRA-5417, CASSANDRA-6520)
+ * Add snapshot space used to cfstats (CASSANDRA-6231)
+ * Add cardinality estimator for key count estimation (CASSANDRA-5906)
+ * CF id is changed to be non-deterministic. Data dir/key cache are created
+ uniquely for CF id (CASSANDRA-5202)
+ * New counters implementation (CASSANDRA-6504)
+ * Replace UnsortedColumns, EmptyColumns, TreeMapBackedSortedColumns with new
+ ArrayBackedSortedColumns (CASSANDRA-6630, CASSANDRA-6662, CASSANDRA-6690)
+ * Add option to use row cache with a given amount of rows (CASSANDRA-5357)
+ * Avoid repairing already repaired data (CASSANDRA-5351)
+ * Reject counter updates with USING TTL/TIMESTAMP (CASSANDRA-6649)
+ * Replace index_interval with min/max_index_interval (CASSANDRA-6379)
+ * Lift limitation that order by columns must be selected for IN queries
(CASSANDRA-4911)
2.0.5
http://git-wip-us.apache.org/repos/asf/cassandra/blob/7e0f7a0f/src/java/org/apache/cassandra/cql3/statements/CQL3CasConditions.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/cql3/statements/CQL3CasConditions.java
index 21b1de6,ee004bc..5d74a51
--- a/src/java/org/apache/cassandra/cql3/statements/CQL3CasConditions.java
+++ b/src/java/org/apache/cassandra/cql3/statements/CQL3CasConditions.java
@@@ -77,12 -77,13 +77,13 @@@ public class CQL3CasConditions implemen
ColumnSlice[] slices = new ColumnSlice[conditions.size()];
int i = 0;
// We always read CQL rows entirely as on CAS failure we want to be
able to distinguish between "row exists
- // but all values on why there were conditions are null" and "row
doesn't exists", and we can't rely on the
+ // but all values for which there were conditions are null" and "row
doesn't exists", and we can't rely on the
// row marker for that (see #6623)
- for (Map.Entry<ByteBuffer, RowCondition> entry :
conditions.entrySet())
- slices[i++] = new ColumnSlice(entry.getKey(),
entry.getValue().rowPrefix.buildAsEndOfRange());
+ for (Composite prefix : conditions.keySet())
+ slices[i++] = prefix.slice();
- return new SliceQueryFilter(slices, false, slices.length,
cfm.clusteringColumns().size());
- int toGroup = cfm.getCfDef().isCompact ? -1 :
cfm.clusteringKeyColumns().size();
++ int toGroup = cfm.comparator.isDense() ? -1 :
cfm.clusteringColumns().size();
+ return new SliceQueryFilter(slices, false, slices.length, toGroup);
}
public boolean appliesTo(ColumnFamily current) throws
InvalidRequestException