[
https://issues.apache.org/jira/browse/CASSANDRA-3116?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13138556#comment-13138556
]
Sylvain Lebresne commented on CASSANDRA-3116:
---------------------------------------------
The patch already needs rebase, but based on the diff a few comments:
* In unmarkCompacting, calling twice markCompacted is not so harmless has it
will trigger an assertion. What we could do is checked the sstableReader
isCompacted flag.
* attemptUpdate breaks atomicity for unreferenceSSTable. We should make sure
the compareAndSet is done on the view we used to compute notCompacting,
otherwise we could have bug in View.replace (like in CASSANDRA-3306). It's
probably simpler to move back the compareAndSet in both unreferenceSSTable and
replace, and call a 'finalizeReplace' for the addNewSSTableSize and following
methods.
* We could rename the unregisterMBean method in KeysIndex to invalidate.
* We may still want to check for isValid before doing a validation compaction
because it doesn't call markCompacting, so it could still run after it's
invalidated on some sstable that have not yet be removed because are being
compacted.
> 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.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