[
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