[
https://issues.apache.org/jira/browse/CASSANDRA-3116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jonathan Ellis updated CASSANDRA-3116:
--------------------------------------
Attachment: 3116-v3.txt
bq. What we could do is checked the sstableReader isCompacted flag
I think I like moving the check into removeOldSSTables instead, since it's
clearly threadsafe (even though there are no existing thread safety issues, why
take chances with future complications). The new version also allows
markCompacted to "work" when called multiple times with asserts turned off;
before, the file create IOException would blow up anyway.
bq. attemptUpdate breaks atomicity for unreferenceSSTable
Damn it, you're right. So many CAS loops feels like we're making this too
fragile. But you're right, that's better than passing View references around.
bq. rename the unregisterMBean method in KeysIndex to invalidate
done.
bq. We may still want to check for isValid before doing a validation compaction
Done, although I suspect my comment attempting to explain the reason for the
check may cause more confusion than it's worth. :)
v3 attached. CASSANDRA-3409 throws a bit of a wrench into things since I don't
see a good way to avoid the lock; still, that's not a frequently used migration.
> Compactions can (seriously) delay schema migrations
> ---------------------------------------------------
>
> Key: CASSANDRA-3116
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3116
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.7.0
> Reporter: Eric Evans
> Assignee: Jonathan Ellis
> Labels: compaction
> Fix For: 1.1
>
> Attachments: 3116-v2.txt, 3116-v3.txt, 3116.txt
>
>
> A compaction lock is acquired when dropping keyspaces or column families
> which will cause the schema migration to block if a compaction is in progress.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira