Repository: cassandra Updated Branches: refs/heads/cassandra-3.11 171222ce0 -> 3fa7c0894 refs/heads/trunk c8718d497 -> 02c8436cb
Merge branch 'cassandra-3.0' into cassandra-3.11 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/171222ce Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/171222ce Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/171222ce Branch: refs/heads/trunk Commit: 171222ce05385aaa7b70e2c15088184a07dda0dc Parents: 620f37c 58e6c55 Author: Mick Semb Wever <m...@apache.org> Authored: Mon Mar 12 19:22:20 2018 +1100 Committer: Mick Semb Wever <m...@apache.org> Committed: Mon Mar 12 19:34:22 2018 +1100 ---------------------------------------------------------------------- CHANGES.txt | 1 + NEWS.txt | 2 + .../apache/cassandra/db/ColumnFamilyStore.java | 4 +- .../io/sstable/format/SSTableReader.java | 97 ++++++++++++++------ .../cassandra/io/sstable/SSTableReaderTest.java | 91 +++++++++++++++++- 5 files changed, 161 insertions(+), 34 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/171222ce/CHANGES.txt ---------------------------------------------------------------------- diff --cc CHANGES.txt index 0e9ef6d,1d1a07a..684f2a6 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,7 -1,5 +1,8 @@@ -3.0.17 +3.11.3 + * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163) + * Fix wildcard GROUP BY queries (CASSANDRA-14209) +Merged from 3.0: + * Don't regenerate bloomfilter and summaries on startup (CASSANDRA-11163) * Fix NPE when performing comparison against a null frozen in LWT (CASSANDRA-14087) * Log when SSTables are deleted (CASSANDRA-14302) * Fix batch commitlog sync regression (CASSANDRA-14292) http://git-wip-us.apache.org/repos/asf/cassandra/blob/171222ce/NEWS.txt ---------------------------------------------------------------------- diff --cc NEWS.txt index 745dad2,c06030e..9af8439 --- a/NEWS.txt +++ b/NEWS.txt @@@ -47,11 -47,14 +47,13 @@@ using the provided 'sstableupgrade' too Upgrading --------- - - Materialized view users upgrading from 3.0.15 or later that have performed range movements (join, decommission, move, etc), - should run repair on the base tables, and subsequently on the views to ensure data affected by CASSANDRA-14251 is correctly - propagated to all replicas. + - Materialized view users upgrading from 3.0.15 (3.0.X series) or 3.11.1 (3.11.X series) and later that have performed range movements (join, decommission, move, etc), + should run repair on the base tables, and subsequently on the views to ensure data affected by CASSANDRA-14251 is correctly propagated to all replicas. + - Changes to bloom_filter_fp_chance will no longer take effect on existing sstables when the node is restarted. Only - compactions/upgradesstables regenerates bloom filters and Summaries sstable components. See CASSANDRA-11163 ++ compactions/upgradesstables regenerates bloom filters and Summaries sstable components. See CASSANDRA-11163 -3.0.16 -===== +3.11.2 +====== Upgrading --------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/171222ce/src/java/org/apache/cassandra/db/ColumnFamilyStore.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/171222ce/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java index d3dd2d3,c66fd8c..7d7fbf1 --- a/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java +++ b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java @@@ -759,34 -748,26 +774,36 @@@ public abstract class SSTableReader ext */ private void load(boolean recreateBloomFilter, boolean saveSummaryIfCreated) throws IOException { - try(SegmentedFile.Builder ibuilder = SegmentedFile.getBuilder(DatabaseDescriptor.getIndexAccessMode(), false); - SegmentedFile.Builder dbuilder = SegmentedFile.getBuilder(DatabaseDescriptor.getDiskAccessMode(), compression)) + try(FileHandle.Builder ibuilder = new FileHandle.Builder(descriptor.filenameFor(Component.PRIMARY_INDEX)) + .mmapped(DatabaseDescriptor.getIndexAccessMode() == Config.DiskAccessMode.mmap) + .withChunkCache(ChunkCache.instance); + FileHandle.Builder dbuilder = new FileHandle.Builder(descriptor.filenameFor(Component.DATA)).compressed(compression) + .mmapped(DatabaseDescriptor.getDiskAccessMode() == Config.DiskAccessMode.mmap) + .withChunkCache(ChunkCache.instance)) { - boolean summaryLoaded = loadSummary(ibuilder, dbuilder); + boolean summaryLoaded = loadSummary(); - boolean builtSummary = false; - if (recreateBloomFilter || !summaryLoaded) - { + boolean buildSummary = !summaryLoaded || recreateBloomFilter; + if (buildSummary) - buildSummary(recreateBloomFilter, ibuilder, dbuilder, summaryLoaded, Downsampling.BASE_SAMPLING_LEVEL); + buildSummary(recreateBloomFilter, summaryLoaded, Downsampling.BASE_SAMPLING_LEVEL); - builtSummary = true; - } + + int dataBufferSize = optimizationStrategy.bufferSize(sstableMetadata.estimatedPartitionSize.percentile(DatabaseDescriptor.getDiskOptimizationEstimatePercentile())); if (components.contains(Component.PRIMARY_INDEX)) - ifile = ibuilder.buildIndex(descriptor, indexSummary); + { + long indexFileLength = new File(descriptor.filenameFor(Component.PRIMARY_INDEX)).length(); + int indexBufferSize = optimizationStrategy.bufferSize(indexFileLength / indexSummary.size()); + ifile = ibuilder.bufferSize(indexBufferSize).complete(); + } - dfile = dbuilder.buildData(descriptor, sstableMetadata); + dfile = dbuilder.bufferSize(dataBufferSize).complete(); - if (saveSummaryIfCreated && builtSummary) - saveSummary(); + if (buildSummary) + { + if (saveSummaryIfCreated) - saveSummary(ibuilder, dbuilder); ++ saveSummary(); + if (recreateBloomFilter) + saveBloomFilter(); + } } catch (Throwable t) { // Because the tidier has not been set-up yet in SSTableReader.open(), we must release the files in case of error http://git-wip-us.apache.org/repos/asf/cassandra/blob/171222ce/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java ---------------------------------------------------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org