You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sylvain Lebresne (JIRA)" <ji...@apache.org> on 2013/02/11 19:55:12 UTC

[jira] [Created] (CASSANDRA-5241) Fix forceBlockingFlush

Sylvain Lebresne created CASSANDRA-5241:
-------------------------------------------

             Summary: Fix forceBlockingFlush
                 Key: CASSANDRA-5241
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5241
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Sylvain Lebresne


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