[
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