Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 255E8184E7 for ; Wed, 3 Jun 2015 16:06:16 +0000 (UTC) Received: (qmail 9031 invoked by uid 500); 3 Jun 2015 16:06:15 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 8954 invoked by uid 500); 3 Jun 2015 16:06:15 -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 8851 invoked by uid 99); 3 Jun 2015 16:06:15 -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; Wed, 03 Jun 2015 16:06:15 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 98CD6DFFD5; Wed, 3 Jun 2015 16:06:15 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: benedict@apache.org To: commits@cassandra.apache.org Date: Wed, 03 Jun 2015 16:06:18 -0000 Message-Id: <9697ddcd828a4d99b394b0b84c474a42@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [4/6] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2 Merge branch 'cassandra-2.1' into cassandra-2.2 Conflicts: src/java/org/apache/cassandra/io/sstable/SSTableSimpleUnsortedWriter.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/46ea0402 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/46ea0402 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/46ea0402 Branch: refs/heads/trunk Commit: 46ea0402f760ed99a93fa463688a59e26a1c543a Parents: 2a9fc0e 66a48e7 Author: Benedict Elliott Smith Authored: Wed Jun 3 17:01:59 2015 +0100 Committer: Benedict Elliott Smith Committed: Wed Jun 3 17:01:59 2015 +0100 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../io/sstable/SSTableSimpleUnsortedWriter.java | 19 +++++++++---- .../io/sstable/CQLSSTableWriterTest.java | 29 ++++++++++++++++++++ 3 files changed, 44 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/46ea0402/CHANGES.txt ---------------------------------------------------------------------- diff --cc CHANGES.txt index b4364ba,4d38e1e..aeae5e8 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,20 -1,5 +1,21 @@@ +2.2 + * Clean up gossiper logic for old versions (CASSANDRA-9370) + * Fix custom payload coding/decoding to match the spec (CASSANDRA-9515) + * ant test-all results incomplete when parsed (CASSANDRA-9463) + * Disallow frozen<> types in function arguments and return types for + clarity (CASSANDRA-9411) + * Static Analysis to warn on unsafe use of Autocloseable instances (CASSANDRA-9431) + * Update commitlog archiving examples now that commitlog segments are + not recycled (CASSANDRA-9350) + * Extend Transactional API to sstable lifecycle management (CASSANDRA-8568) + * (cqlsh) Add support for native protocol 4 (CASSANDRA-9399) + * Ensure that UDF and UDAs are keyspace-isolated (CASSANDRA-9409) + * Revert CASSANDRA-7807 (tracing completion client notifications) (CASSANDRA-9429) + * Add ability to stop compaction by ID (CASSANDRA-7207) + * Let CassandraVersion handle SNAPSHOT version (CASSANDRA-9438) +Merged from 2.1: 2.1.6 + * Fix empty partition assertion in unsorted sstable writing tools (CASSANDRA-9071) * Ensure truncate without snapshot cannot produce corrupt responses (CASSANDRA-9388) * Consistent error message when a table mixes counter and non-counter columns (CASSANDRA-9492) http://git-wip-us.apache.org/repos/asf/cassandra/blob/46ea0402/src/java/org/apache/cassandra/io/sstable/SSTableSimpleUnsortedWriter.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/io/sstable/SSTableSimpleUnsortedWriter.java index d6ab940,9ee9ea1..cc47845 --- a/src/java/org/apache/cassandra/io/sstable/SSTableSimpleUnsortedWriter.java +++ b/src/java/org/apache/cassandra/io/sstable/SSTableSimpleUnsortedWriter.java @@@ -219,36 -229,29 +230,34 @@@ public class SSTableSimpleUnsortedWrite { while (true) { - Buffer b = writeQueue.take(); - if (b == SENTINEL) - return; + try + { + Buffer b = writeQueue.take(); + if (b == SENTINEL) + return; - writer = getWriter(); - for (Map.Entry entry : b.entrySet()) + try (SSTableWriter writer = getWriter();) + { - boolean first = true; + for (Map.Entry entry : b.entrySet()) + { + if (entry.getValue().getColumnCount() > 0) + writer.append(entry.getKey(), entry.getValue()); - else if (!first) ++ else if (!entry.getKey().equals(b.getFirstInsertedKey())) + throw new AssertionError("Empty partition"); - first = false; + } - ++ + writer.finish(false); + } + } + catch (Throwable e) { - if (entry.getValue().getColumnCount() > 0) - writer.append(entry.getKey(), entry.getValue()); - else if (!entry.getKey().equals(b.getFirstInsertedKey())) - throw new AssertionError("Empty partition"); + JVMStabilityInspector.inspectThrowable(e); + // Keep only the first exception + if (exception == null) + exception = e; } - writer.close(); } - } - catch (Throwable e) - { - JVMStabilityInspector.inspectThrowable(e); - if (writer != null) - writer.abort(); - exception = e; + } } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/46ea0402/test/unit/org/apache/cassandra/io/sstable/CQLSSTableWriterTest.java ----------------------------------------------------------------------