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 2016/07/05 09:24:21 UTC
[05/14] cassandra git commit: Merge commit
'408066c57a66e0d5a6691af1695742ef49786bf2' into cassandra-2.2
Merge commit '408066c57a66e0d5a6691af1695742ef49786bf2' into cassandra-2.2
* commit '408066c57a66e0d5a6691af1695742ef49786bf2':
Improve digest calculation in the presence of overlapping tombstones.
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9199a29f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9199a29f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9199a29f
Branch: refs/heads/trunk
Commit: 9199a29f6f3394abb75840234474fe858fb644b7
Parents: e06dae8 408066c
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Tue Jul 5 11:21:48 2016 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Tue Jul 5 11:22:36 2016 +0200
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/db/ColumnIndex.java | 12 +++++++++--
.../org/apache/cassandra/db/OnDiskAtom.java | 8 ++++++-
.../org/apache/cassandra/db/RangeTombstone.java | 6 +++---
.../db/compaction/LazilyCompactedRow.java | 22 ++++++++++++++++----
5 files changed, 39 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9199a29f/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 451575c,33014d5..65c7c1f
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,42 -1,9 +1,43 @@@
-2.1.16
- * Reduce contention getting instances of CompositeType (CASSANDRA-10433)
+2.2.8
+ * MemoryUtil.getShort() should return an unsigned short also for architectures not supporting unaligned memory accesses (CASSANDRA-11973)
+Merged from 2.1:
+ * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349)
-
-2.1.15
+ * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907)
* Account for partition deletions in tombstone histogram (CASSANDRA-12112)
+
+
+2.2.7
+ * Allow nodetool info to run with readonly JMX access (CASSANDRA-11755)
+ * Validate bloom_filter_fp_chance against lowest supported
+ value when the table is created (CASSANDRA-11920)
+ * RandomAccessReader: call isEOF() only when rebuffering, not for every read operation (CASSANDRA-12013)
+ * Don't send erroneous NEW_NODE notifications on restart (CASSANDRA-11038)
+ * StorageService shutdown hook should use a volatile variable (CASSANDRA-11984)
+ * Persist local metadata earlier in startup sequence (CASSANDRA-11742)
+ * Run CommitLog tests with different compression settings (CASSANDRA-9039)
+ * cqlsh: fix tab completion for case-sensitive identifiers (CASSANDRA-11664)
+ * Avoid showing estimated key as -1 in tablestats (CASSANDRA-11587)
+ * Fix possible race condition in CommitLog.recover (CASSANDRA-11743)
+ * Enable client encryption in sstableloader with cli options (CASSANDRA-11708)
+ * Possible memory leak in NIODataInputStream (CASSANDRA-11867)
+ * Fix commit log replay after out-of-order flush completion (CASSANDRA-9669)
+ * Add seconds to cqlsh tracing session duration (CASSANDRA-11753)
+ * Prohibit Reverse Counter type as part of the PK (CASSANDRA-9395)
+ * cqlsh: correctly handle non-ascii chars in error messages (CASSANDRA-11626)
+ * Exit JVM if JMX server fails to startup (CASSANDRA-11540)
+ * Produce a heap dump when exiting on OOM (CASSANDRA-9861)
+ * Avoid read repairing purgeable tombstones on range slices (CASSANDRA-11427)
+ * Restore ability to filter on clustering columns when using a 2i (CASSANDRA-11510)
+ * JSON datetime formatting needs timezone (CASSANDRA-11137)
+ * Fix is_dense recalculation for Thrift-updated tables (CASSANDRA-11502)
+ * Remove unnescessary file existence check during anticompaction (CASSANDRA-11660)
+ * Add missing files to debian packages (CASSANDRA-11642)
+ * Avoid calling Iterables::concat in loops during ModificationStatement::getFunctions (CASSANDRA-11621)
+ * cqlsh: COPY FROM should use regular inserts for single statement batches and
+ report errors correctly if workers processes crash on initialization (CASSANDRA-11474)
+ * Always close cluster with connection in CqlRecordWriter (CASSANDRA-11553)
+ * Fix slice queries on ordered COMPACT tables (CASSANDRA-10988)
+Merged from 2.1:
* Avoid stalling paxos when the paxos state expires (CASSANDRA-12043)
* Remove finished incoming streaming connections from MessagingService (CASSANDRA-11854)
* Don't try to get sstables for non-repairing column families (CASSANDRA-12077)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9199a29f/src/java/org/apache/cassandra/db/OnDiskAtom.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9199a29f/src/java/org/apache/cassandra/db/RangeTombstone.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/9199a29f/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
index 6054fd3,f912da2..8de1088
--- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
+++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
@@@ -158,11 -154,27 +158,26 @@@ public class LazilyCompactedRow extend
// no special-case for rows.size == 1, we're actually skipping some bytes here so just
// blindly updating everything wouldn't be correct
- DataOutputBuffer out = new DataOutputBuffer();
- OnDiskAtom.SerializerForWriting serializer = new OnDiskAtom.SerializerForWriting()
+ try (DataOutputBuffer out = new DataOutputBuffer())
{
- @Override
- public void serializeForSSTable(OnDiskAtom atom, DataOutputPlus out) throws IOException
- {
- atom.updateDigest(digest);
- }
-
- @Override
- public long serializedSizeForSSTable(OnDiskAtom atom)
++ OnDiskAtom.SerializerForWriting serializer = new OnDiskAtom.SerializerForWriting()
+ {
- return 0;
- }
- };
-
- // initialize indexBuilder for the benefit of its tombstoneTracker, used by our reducing iterator
- indexBuilder = new ColumnIndex.Builder(emptyColumnFamily, key.getKey(), out, serializer);
++ @Override
++ public void serializeForSSTable(OnDiskAtom atom, DataOutputPlus out) throws IOException
++ {
++ atom.updateDigest(digest);
++ }
++
++ @Override
++ public long serializedSizeForSSTable(OnDiskAtom atom)
++ {
++ return 0;
++ }
++ };
++
+ // initialize indexBuilder for the benefit of its tombstoneTracker, used by our reducing iterator
- indexBuilder = new ColumnIndex.Builder(emptyColumnFamily, key.getKey(), out);
++ indexBuilder = new ColumnIndex.Builder(emptyColumnFamily, key.getKey(), out, serializer);
- try
- {
DeletionTime.serializer.serialize(emptyColumnFamily.deletionInfo().getTopLevelDeletion(), out);
// do not update digest in case of missing or purged row level tombstones, see CASSANDRA-8979