[ 
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

Reply via email to