From b4bc50e44d3cb1c1a528132e11e6641212b5bc3c Mon Sep 17 00:00:00 2001 From: Pavel Yaskevich Date: Thu, 19 Sep 2013 14:08:38 -0700 Subject: [PATCH 1/3] bump Distruptor Thrift Server version to 0.3.2 --- build.xml | 4 ++-- ...rver-0.3.0.jar => thrift-server-0.3.2.jar} | Bin 123898 -> 123920 bytes 2 files changed, 2 insertions(+), 2 deletions(-) rename lib/{thrift-server-0.3.0.jar => thrift-server-0.3.2.jar} (71%) diff --git a/build.xml b/build.xml index 6aab42aded..72291e2533 100644 --- a/build.xml +++ b/build.xml @@ -354,7 +354,7 @@ - + @@ -452,7 +452,7 @@ - + diff --git a/lib/thrift-server-0.3.0.jar b/lib/thrift-server-0.3.2.jar similarity index 71% rename from lib/thrift-server-0.3.0.jar rename to lib/thrift-server-0.3.2.jar index 3c93bb988fd09d62b3d801a6c8a33db60f1371bb..5b03c4dc7c399189cf3cbeffa869470ec05d2b1d 100644 GIT binary patch delta 27652 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 ZllSyR9XPlEIrM1}ph2^(ho%IS{{tt+18V>P delta 27879 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 From 5a7cc11f29c69265d6302a54690476b7ef2de61a Mon Sep 17 00:00:00 2001 From: Jonathan Ellis Date: Thu, 19 Sep 2013 16:49:15 -0500 Subject: [PATCH 2/3] use non-pooling readers with openForBatch patch by jbellis; reviewed by yukim for CASSANDRA-6067 --- .../cassandra/io/sstable/SSTableReader.java | 14 ++++++++++--- .../io/util/BufferedSegmentedFile.java | 21 ++++++++----------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java index e0c096fdcf..4da579caa7 100644 --- a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java +++ b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java @@ -160,8 +160,17 @@ public class SSTableReader extends SSTable implements Closeable partitioner, System.currentTimeMillis(), sstableMetadata); - // don't save index summary to disk if we needed to build one - sstable.load(false, false); + + // special implementation of load to use non-pooled SegmentedFile builders + SegmentedFile.Builder ibuilder = new BufferedSegmentedFile.Builder(); + SegmentedFile.Builder dbuilder = sstable.compression + ? new CompressedSegmentedFile.Builder() + : new BufferedSegmentedFile.Builder(); + if (!loadSummary(sstable, ibuilder, dbuilder, sstable.metadata)) + sstable.buildSummary(false, ibuilder, dbuilder, false); + sstable.ifile = ibuilder.complete(sstable.descriptor.filenameFor(Component.PRIMARY_INDEX)); + sstable.dfile = dbuilder.complete(sstable.descriptor.filenameFor(Component.DATA)); + sstable.bf = FilterFactory.AlwaysPresent; return sstable; } @@ -411,7 +420,6 @@ public class SSTableReader extends SSTable implements Closeable ? SegmentedFile.getCompressedBuilder() : SegmentedFile.getBuilder(DatabaseDescriptor.getDiskAccessMode()); - boolean summaryLoaded = loadSummary(this, ibuilder, dbuilder, metadata); if (recreateBloomFilter || !summaryLoaded) buildSummary(recreateBloomFilter, ibuilder, dbuilder, summaryLoaded); diff --git a/src/java/org/apache/cassandra/io/util/BufferedSegmentedFile.java b/src/java/org/apache/cassandra/io/util/BufferedSegmentedFile.java index 49972c81fb..790b42b99b 100644 --- a/src/java/org/apache/cassandra/io/util/BufferedSegmentedFile.java +++ b/src/java/org/apache/cassandra/io/util/BufferedSegmentedFile.java @@ -19,7 +19,7 @@ package org.apache.cassandra.io.util; import java.io.File; -public class BufferedSegmentedFile extends PoolingSegmentedFile +public class BufferedSegmentedFile extends SegmentedFile { public BufferedSegmentedFile(String path, long length) { @@ -28,20 +28,11 @@ public class BufferedSegmentedFile extends PoolingSegmentedFile public static class Builder extends SegmentedFile.Builder { - /** - * Adds a position that would be a safe place for a segment boundary in the file. For a block/row based file - * format, safe boundaries are block/row edges. - * @param boundary The absolute position of the potential boundary in the file. - */ public void addPotentialBoundary(long boundary) { // only one segment in a standard-io file } - /** - * Called after all potential boundaries have been added to apply this Builder to a concrete file on disk. - * @param path The file on disk. - */ public SegmentedFile complete(String path) { long length = new File(path).length(); @@ -49,8 +40,14 @@ public class BufferedSegmentedFile extends PoolingSegmentedFile } } - protected RandomAccessReader createReader(String path) + public FileDataInput getSegment(long position) + { + RandomAccessReader reader = RandomAccessReader.open(new File(path)); + reader.seek(position); + return reader; + } + + public void cleanup() { - return RandomAccessReader.open(new File(path), this); } } From 023b55f3b45722873737258820aefe47672af67e Mon Sep 17 00:00:00 2001 From: Jonathan Ellis Date: Thu, 19 Sep 2013 16:49:35 -0500 Subject: [PATCH 3/3] edit for 2.0.1 re-roll --- CHANGES.txt | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 979d6b0ba4..a6938f480e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,12 +1,7 @@ -2.0.2 +2.0.1 * Improve memory use defaults (CASSANDRA-5069) * Make ThriftServer more easlly extensible (CASSANDRA-6058) * Remove Hadoop dependency from ITransportFactory (CASSANDRA-6062) -Merged from 1.2: - * Allow cache-keys-to-save to be set at runtime (CASSANDRA-5980) - - -2.0.1 * add file_cache_size_in_mb setting (CASSANDRA-5661) * Improve error message when yaml contains invalid properties (CASSANDRA-5958) * Improve leveled compaction's ability to find non-overlapping L0 compactions @@ -36,6 +31,7 @@ Merged from 1.2: * Fix validation of IN clauses with 2ndary indexes (CASSANDRA-6050) * Support named bind variables in CQL (CASSANDRA-6033) Merged from 1.2: + * Allow cache-keys-to-save to be set at runtime (CASSANDRA-5980) * Avoid second-guessing out-of-space state (CASSANDRA-5605) * Tuning knobs for dealing with large blobs and many CFs (CASSANDRA-5982) * (Hadoop) Fix CQLRW for thrift tables (CASSANDRA-6002)