[
https://issues.apache.org/jira/browse/CASSANDRA-5241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13579609#comment-13579609
]
Michael Kjellman commented on CASSANDRA-5241:
---------------------------------------------
looks like this did break things:
looping over and over again forever on every node in my cluster
INFO [FlushWriter:2] 2013-02-15 15:55:58,863 Memtable.java (line 487)
Completed flushing
/data/cassandra/system/schema_columns/system-schema_columns-ib-558-Data.db
(1111 bytes) for commitlog position ReplayPosition(segmentId=1360972417111,
position=8461487)
INFO [InternalResponseStage:9] 2013-02-15 15:55:58,930 ColumnFamilyStore.java
(line 631) Enqueuing flush of Memtable-schema_keyspaces@77860694(613/5680
serialized/live bytes, 15 ops)
INFO [FlushWriter:1] 2013-02-15 15:55:58,931 Memtable.java (line 453) Writing
Memtable-schema_keyspaces@77860694(613/5680 serialized/live bytes, 15 ops)
INFO [FlushWriter:1] 2013-02-15 15:55:59,242 Memtable.java (line 487)
Completed flushing
/data/cassandra/system/schema_keyspaces/system-schema_keyspaces-ib-562-Data.db
(380 bytes) for commitlog position ReplayPosition(segmentId=1360972417111,
position=8501008)
INFO [InternalResponseStage:9] 2013-02-15 15:55:59,245 ColumnFamilyStore.java
(line 631) Enqueuing flush of
Memtable-schema_columnfamilies@1234269053(29769/105586 serialized/live bytes,
449 ops)
> 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