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

[jira] [Commented] (CASSANDRA-2105) Fix the read race condition in CFStore for counters

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

Hudson commented on CASSANDRA-2105:
-----------------------------------

Integrated in Cassandra #810 (See [https://hudson.apache.org/hudson/job/Cassandra/810/])
    Atomically switch cfstore memtables and sstables
patch by slebresne; reviewed by jbellis for CASSANDRA-2284 (and CASSANDRA-2105)


> Fix the read race condition in CFStore for counters 
> ----------------------------------------------------
>
>                 Key: CASSANDRA-2105
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2105
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 0.8
>            Reporter: Sylvain Lebresne
>            Assignee: Sylvain Lebresne
>              Labels: counters
>             Fix For: 0.8
>
>         Attachments: 2115_option1_withLock.patch, 2115_option2_nolock.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> There is a (known) race condition during counter read. Indeed, for standard
> column family there is a small time during which a memtable is both active and
> pending flush and similarly a small time during which a 'memtable' is both
> pending flush and an active sstable. For counters that would imply sometime
> reconciling twice during a read the same counterColumn and thus over-counting.
> Current code changes this slightly by trading the possibility to count twice a
> given counterColumn by the possibility to miss a counterColumn. Thus it trades
> over-counts for under-counts.
> But this is no fix and there is no hope to offer clients any kind of guarantee
> on reads unless we fix this.

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