[
https://issues.apache.org/jira/browse/CASSANDRA-5241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13579848#comment-13579848
]
Michael Kjellman commented on CASSANDRA-5241:
---------------------------------------------
so i've been able to reproduce (rolling restart seems to trigger) but i'm not
100% it is because of this patch (this is against 1.2 branch btw)...
> 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