cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CASSANDRA-2284) Make changes to the set of memtables and sstables of a cfstore atomic
Date Tue, 08 Mar 2011 21:16:59 GMT

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

Sylvain Lebresne commented on CASSANDRA-2284:
---------------------------------------------

Actually, I don't find that so clear. Because if you expose the View abstraction to CFStore,
you now have to handle the details correctly there. What I mean is that for the mentioned
method, you need to make sure you use the same view when gathering the iterator. That's not
very hard, but keeping those details in DataTracker sounds beter in that respect.

As for the reference to CFStore, the truth is that it will be hard to avoid, unless you put
almost everything in CFStore (if only because some log message here and there uses the table
name and cfname). My initial implementation was doing this. It was only defining the View
abstraction and had an AtomicReference to it in CFStore. That wasn't really pretty honestly.

> Make changes to the set of memtables and sstables of a cfstore atomic 
> ----------------------------------------------------------------------
>
>                 Key: CASSANDRA-2284
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2284
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Sylvain Lebresne
>            Assignee: Sylvain Lebresne
>             Fix For: 0.8
>
>         Attachments: 0001-Make-memtable-and-sstable-switches-atomic.patch
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> Some switches happen in the set of memtables and sstables of a cfstore:
>   * when we switch the memtable, the current memtable is replaced by a new one and add
to the memtablesPendingFlush
>   * when a memtable is fully flushed, it is removed from memtablesPendingFlush and the
newly created sstable is added to the set of active sstables.
>   * after compaction, compacted memtables are removed from the active sstables and the
compacted sstable is added instead
> Only the last of these operations is atomic. This ticket proposes to makes all of them
atomic, using the idea of the View idea hinted by Stu in the comments of CASSANDRA-1954.
> The main reason for this is to fix CASSANDRA-2105. But I think that another benefit of
this is to make reasoning about those operations easier.

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

Mime
View raw message