[ 
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

Reply via email to