You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Gary Dusbabek (JIRA)" <ji...@apache.org> on 2011/03/28 15:23:05 UTC

[jira] [Commented] (CASSANDRA-2381) orphaned data files may be created during migration race

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

Gary Dusbabek commented on CASSANDRA-2381:
------------------------------------------

Is it necessary to make the MT lock static?  I do not think there would be a problem with concurrently flushing two memtables of different column families (the CL serialization is still preserved by the synchronization in CFS).

> orphaned data files may be created during migration race
> --------------------------------------------------------
>
>                 Key: CASSANDRA-2381
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2381
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.7.0
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 0.7.5
>
>         Attachments: 2381-0.8.txt
>
>
> We try to prevent creating orphans by locking Table.flusherLock in maybeSwitchMemtable and the Migration process, but since the actual writing is done asynchronously in Memtable.writeSortedContents there is a race window, where we acquire lock in maybeSwitch, we're not dropped so we queue the flush and release the lock, Migration does the drop, then Memtable writes itself out.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira