[
https://issues.apache.org/jira/browse/CASSANDRA-5151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13576093#comment-13576093
]
Yuki Morishita commented on CASSANDRA-5151:
-------------------------------------------
I think there is concurrency problem in opening ColumnFamilyStore and
deleting/scrubbing SSTables.
This static
block(https://github.com/apache/cassandra/blob/cassandra-1.2.1/src/java/org/apache/cassandra/db/ColumnFamilyStore.java#L88)
schedules MeteredFlusher which accesses all ColumnFamilyStore when it runs
every 1 sec. Scheduling is done when JVM first load ColumnFamilyStore class, so
after that, there is always a chance to open SSTables before doing scrub
directory/remove compaction left overs.
We should move the content of static block at the end of CassandraDaemon setup.
> Implement better way of eliminating compaction left overs.
> ----------------------------------------------------------
>
> Key: CASSANDRA-5151
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5151
> Project: Cassandra
> Issue Type: Bug
> Affects Versions: 1.1.3
> Reporter: Yuki Morishita
> Assignee: Yuki Morishita
> Fix For: 1.2.2
>
> Attachments: 5151-1.2.txt, 5151-v2.txt
>
>
> This is from discussion in CASSANDRA-5137. Currently we skip loading SSTables
> that are left over from incomplete compaction to not over-count counter, but
> the way we track compaction completion is not secure.
> One possible solution is to create system CF like:
> {code}
> create table compaction_log (
> id uuid primary key,
> inputs set<int>,
> outputs set<int>
> );
> {code}
> to track incomplete compaction.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira