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/cassandra-2.2 Commit: 46ea0402f760ed99a93fa463688a59e26a1c543a Parents: 2a9fc0e 66a48e7 Author: Benedict Elliott Smith <bened...@apache.org> Authored: Wed Jun 3 17:01:59 2015 +0100 Committer: Benedict Elliott Smith <bened...@apache.org> 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<DecoratedKey, ColumnFamily> entry : b.entrySet()) + try (SSTableWriter writer = getWriter();) + { - boolean first = true; + for (Map.Entry<DecoratedKey, ColumnFamily> 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 ----------------------------------------------------------------------