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 Thu, 24 Mar 2011 14:13:05 GMT

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

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

bq. Could we move the caches into DT? That feels like a better fit than query logic, and would
make it possible to avoid the CFS reference (instead we would just need the CFMetadata object).

The main uses of the rowCache are in CFStore, so I'm not sure it would worth it. And removing
the CFS reference would also mean creating new memtables outside of DataTracker, which in
principle is fine, but would yield a slightly less clean API for DataTracker.

Overall there is probably a number of refactoring that could be done and it could be worth
spending some time cleaning CFStore at some point, but I'd be in favor of letting that to
later tickets and committing this as is unless there is strong objections. 

> 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-v2.patch, 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