[ 
https://issues.apache.org/jira/browse/CASSANDRA-5151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13694856#comment-13694856
 ] 

Sylvain Lebresne commented on CASSANDRA-5151:
---------------------------------------------

So let me see if I can sum what's going on here.

As far as trunk is concerned, the initial patch is still there but we suspect 
it may cause problems, namely:
# The AssertionError "Incoherent new size -3 replacing ..." error in 
ColumnFamilyStoreTest.
# The IllegalStateException "Unfinished compactions reference missing sstables" 
that Michael experienced.

As far as I can tell from reading the history, the other problems have been 
fixed, right?

Now, concerning 1) (the AssertionError), I "think" the problem is just with 
CFS.clearUnsafe(). Namely, it butcher the DataTracker for test purposes, but if 
a compaction runs concurrently, at the end of said compaction it will try to 
replace sstables that are not there anymore, hence the exception. I've 
committed a simple workaround in commit 3935587 that make clearUnsafe() stop 
compactions first. As far as I can tell, this did fixed the error (I've been 
able to run ColumnFamilyStoreTest a number of time without getting the stack 
while I had it consistently before).

Remains 2), the IllegalStateException. Yuki suggests that it may have been 
caused by CASSANDRA-5241 that is resolved now. So should we close this until 
further notice?  [~mkjellman] Do you remember if you were able to easily 
reproduce that error back when you tested this patch?

                
> 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: 2.0 beta 1
>
>         Attachments: 
> 0001-move-scheduling-MeteredFlusher-to-CassandraDaemon.patch, 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

Reply via email to