[ https://issues.apache.org/jira/browse/CASSANDRA-2105?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13003974#comment-13003974 ]
Sylvain Lebresne commented on CASSANDRA-2105: --------------------------------------------- I've opened CASSANDRA-2284 that provides what I think is a better solution than the one I have attached previously to this problem (I've opened it separately because it's a more generic solution, not just a counter related fix). > 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