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

Reply via email to