Merge branch 'cassandra-3.11' into trunk
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1cb05092 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1cb05092 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1cb05092 Branch: refs/heads/trunk Commit: 1cb050922c7cc181e7c4e90fa2a52c23a87d5fc0 Parents: 7815014 817f3c2 Author: Marcus Eriksson <[email protected]> Authored: Mon Dec 11 09:04:46 2017 +0100 Committer: Marcus Eriksson <[email protected]> Committed: Mon Dec 11 09:04:46 2017 +0100 ---------------------------------------------------------------------- CHANGES.txt | 2 ++ .../cassandra/db/compaction/CompactionManager.java | 1 + .../org/apache/cassandra/db/compaction/Scrubber.java | 4 +++- .../io/sstable/IndexSummaryRedistribution.java | 12 ++++++++---- 4 files changed, 14 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1cb05092/CHANGES.txt ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1cb05092/src/java/org/apache/cassandra/db/compaction/CompactionManager.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/db/compaction/CompactionManager.java index e5c8269,638e74c..c57b37a --- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java @@@ -1094,14 -1095,15 +1094,15 @@@ public class CompactionManager implemen int nowInSec = FBUtilities.nowInSeconds(); try (SSTableRewriter writer = SSTableRewriter.construct(cfs, txn, false, sstable.maxDataAge); - ISSTableScanner scanner = cleanupStrategy.getScanner(sstable, null); + ISSTableScanner scanner = cleanupStrategy.getScanner(sstable); CompactionController controller = new CompactionController(cfs, txn.originals(), getDefaultGcBefore(cfs, nowInSec)); + Refs<SSTableReader> refs = Refs.ref(Collections.singleton(sstable)); CompactionIterator ci = new CompactionIterator(OperationType.CLEANUP, Collections.singletonList(scanner), controller, nowInSec, UUIDGen.getTimeUUID(), metrics)) { - writer.switchWriter(createWriter(cfs, compactionFileLocation, expectedBloomFilterSize, sstable.getSSTableMetadata().repairedAt, sstable, txn)); + StatsMetadata metadata = sstable.getSSTableMetadata(); + writer.switchWriter(createWriter(cfs, compactionFileLocation, expectedBloomFilterSize, metadata.repairedAt, metadata.pendingRepair, sstable, txn)); long lastBytesScanned = 0; - while (ci.hasNext()) { if (ci.isStopRequested()) http://git-wip-us.apache.org/repos/asf/cassandra/blob/1cb05092/src/java/org/apache/cassandra/db/compaction/Scrubber.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1cb05092/src/java/org/apache/cassandra/io/sstable/IndexSummaryRedistribution.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/io/sstable/IndexSummaryRedistribution.java index 47c3fca,73626d3..24de918 --- a/src/java/org/apache/cassandra/io/sstable/IndexSummaryRedistribution.java +++ b/src/java/org/apache/cassandra/io/sstable/IndexSummaryRedistribution.java @@@ -39,9 -40,9 +39,10 @@@ import org.apache.cassandra.db.compacti import org.apache.cassandra.db.compaction.OperationType; import org.apache.cassandra.db.lifecycle.LifecycleTransaction; import org.apache.cassandra.io.sstable.format.SSTableReader; +import org.apache.cassandra.schema.TableId; import org.apache.cassandra.utils.FBUtilities; import org.apache.cassandra.utils.Pair; + import org.apache.cassandra.utils.concurrent.Refs; import static org.apache.cassandra.io.sstable.Downsampling.BASE_SAMPLING_LEVEL; @@@ -112,13 -125,16 +113,16 @@@ public class IndexSummaryRedistributio logger.trace("Index summaries for compacting SSTables are using {} MB of space", (memoryPoolBytes - remainingBytes) / 1024.0 / 1024.0); - List<SSTableReader> newSSTables = adjustSamplingLevels(sstablesByHotness, transactions, totalReadsPerSec, remainingBytes); - - for (LifecycleTransaction txn : transactions.values()) - txn.finish(); + List<SSTableReader> newSSTables; + try (Refs<SSTableReader> refs = Refs.ref(sstablesByHotness)) + { + newSSTables = adjustSamplingLevels(sstablesByHotness, transactions, totalReadsPerSec, remainingBytes); + for (LifecycleTransaction txn : transactions.values()) + txn.finish(); + } total = 0; - for (SSTableReader sstable : Iterables.concat(compacting, oldFormatSSTables, newSSTables)) + for (SSTableReader sstable : Iterables.concat(compacting, newSSTables)) total += sstable.getIndexSummaryOffHeapSize(); logger.trace("Completed resizing of index summaries; current approximate memory used: {}", FBUtilities.prettyPrintMemory(total)); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
