You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2011/03/24 22:00:05 UTC
[jira] [Updated] (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:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-2381:
--------------------------------------
Attachment: 2381-0.8.txt
Patch against 0.8:
- moves Table.flusherLock to Memtable.flushLock; acquire during memtable writing
- replaces flushLock use in Table.maybeSwitchMemtables with a synchronized block
- removes beforeApplyModel; snapshotting is moved into applyModel for drops and removed entirely for updates
> 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