[ https://issues.apache.org/jira/browse/CASSANDRA-12561?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Wei Deng updated CASSANDRA-12561: --------------------------------- Labels: lcs (was: ) > LCS compaction going into infinite loop due to non-existent sstables > -------------------------------------------------------------------- > > Key: CASSANDRA-12561 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12561 > Project: Cassandra > Issue Type: Bug > Reporter: Nimi Wariboko Jr. > Labels: lcs > > I believe this is related/similar to CASSANDRA-11373, but I'm running 3.5 and > I still have this issue. > AFAICT, this happens when getCompactionCandidates in LeveledManifest.java > returns a candidate that does not exist on disk. > Eventually, all the compaction threads back up, garbage collections start > taking an upwards of 20 seconds and messages start being dropped. > To get around this, I patched my instance with the following code in > LeveledManifest.java > {code:java} > Set<SSTableReader> removeCandidates = new HashSet<>(); > for (SSTableReader sstable : candidates) > { > if (!(new java.io.File(sstable.getFilename())).exists()) { > removeCandidates.add(sstable); > logger.warn("Not compating candidate {} because it does > not exist ({}).", sstable.getFilename(), sstable.openReason); > } > } > candidates.removeAll(removeCandidates); > if (candidates.size() < 2) > return Collections.emptyList(); > else > return candidates; > {code} > This just removes any candidate that doesn't exist on disk - however I'm not > sure what the side effects of this are. -- This message was sent by Atlassian JIRA (v6.3.4#6332)