[ https://issues.apache.org/jira/browse/CASSANDRA-12961?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16181671#comment-16181671 ]
Jeff Jirsa commented on CASSANDRA-12961: ---------------------------------------- I'm PRETTY SURE the failures are unrelated. I've asked [~jasobrown] to confirm just to be good citizens. Then I'll commit. > LCS needlessly checks for L0 STCS candidates multiple times > ----------------------------------------------------------- > > Key: CASSANDRA-12961 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12961 > Project: Cassandra > Issue Type: Improvement > Components: Compaction > Reporter: Jeff Jirsa > Assignee: Vusal Ahmadoglu > Priority: Trivial > Labels: lhf > Fix For: 4.x > > Attachments: > 0001-CASSANDRA-12961-Moving-getSTCSInL0CompactionCandidat.patch > > > It's very likely that the check for L0 STCS candidates (if L0 is falling > behind) can be moved outside of the loop, or at very least made so that it's > not called on each loop iteration: > {code} > for (int i = generations.length - 1; i > 0; i--) > { > List<SSTableReader> sstables = getLevel(i); > if (sstables.isEmpty()) > continue; // mostly this just avoids polluting the debug log > with zero scores > // we want to calculate score excluding compacting ones > Set<SSTableReader> sstablesInLevel = Sets.newHashSet(sstables); > Set<SSTableReader> remaining = Sets.difference(sstablesInLevel, > cfs.getTracker().getCompacting()); > double score = (double) SSTableReader.getTotalBytes(remaining) / > (double)maxBytesForLevel(i, maxSSTableSizeInBytes); > logger.trace("Compaction score for level {} is {}", i, score); > if (score > 1.001) > { > // before proceeding with a higher level, let's see if L0 is > far enough behind to warrant STCS > CompactionCandidate l0Compaction = > getSTCSInL0CompactionCandidate(); > if (l0Compaction != null) > return l0Compaction; > ...... > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org