[ 
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)

Reply via email to