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

Marcus Eriksson commented on CASSANDRA-5241:
--------------------------------------------

5151 will flush more often (ie before compaction starts and when it ends)

but at a quick glance, cant really see why it would end up in a loop. Unless 
the frequent compactions_in_progress flushing causes more compactions and thus 
new flushes, but cant really see why that would happen since would need 4 new 
compactions_in_progress sstables to start a new compaction
                
> Fix forceBlockingFlush
> ----------------------
>
>                 Key: CASSANDRA-5241
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5241
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Sylvain Lebresne
>            Assignee: Marcus Eriksson
>             Fix For: 1.2.2
>
>         Attachments: 
> 0001-CASSANDRA-5241-wait-for-flushing-to-complete-before-.patch
>
>
> ForceBlockingFlush doesn't guarantee that after the call, every that the 
> thread has written prior to the call will be fully flushed. At least not in 
> the case of concurrent flushes, because if 2 threads flush roughly at the 
> same time, one will have it's forceBlockingFlush call return immediately 
> because the memtable will be clean (even though some of the thread writes may 
> have not be fully flushed yet).
> I think this is very fragile and make it easy to have hard to find races and 
> so we should fix it. Typically a forceFlush that see a clean memtable could 
> submit a dummy task in the postFlushExecutor and wait for that.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to