[ 
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

        

Reply via email to