Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 64B90200B35 for ; Tue, 5 Jul 2016 11:24:20 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 63797160A6F; Tue, 5 Jul 2016 09:24:20 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 95369160A60 for ; Tue, 5 Jul 2016 11:24:19 +0200 (CEST) Received: (qmail 93922 invoked by uid 500); 5 Jul 2016 09:24:17 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 93297 invoked by uid 99); 5 Jul 2016 09:24:17 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 Jul 2016 09:24:17 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 66DA9EAD99; Tue, 5 Jul 2016 09:24:17 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: slebresne@apache.org To: commits@cassandra.apache.org Date: Tue, 05 Jul 2016 09:24:24 -0000 Message-Id: <99b8ca88088b4fc3af943e840b0b4d06@git.apache.org> In-Reply-To: <127261b06216403d9b2b2442c334f8f9@git.apache.org> References: <127261b06216403d9b2b2442c334f8f9@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [08/14] cassandra git commit: Merge commit '408066c57a66e0d5a6691af1695742ef49786bf2' into cassandra-2.2 archived-at: Tue, 05 Jul 2016 09:24:20 -0000 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/cassandra-3.9 Commit: 9199a29f6f3394abb75840234474fe858fb644b7 Parents: e06dae8 408066c Author: Sylvain Lebresne Authored: Tue Jul 5 11:21:48 2016 +0200 Committer: Sylvain Lebresne 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