[ 
https://issues.apache.org/jira/browse/CASSANDRA-6431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13837531#comment-13837531
 ] 

Benedict commented on CASSANDRA-6431:
-------------------------------------

Yeah, I've been thinking about this and realise we need to probably split 
cfs.forceFlush() into cfs.forceFlushNow() and cfs.forceEnqueueFlush(), the 
former used only for flushes that are due to memory pressure, and the latter 
for any other reasons.

I don't want to go too crazy on this, as I'll need to change this altogether 
very soon with CASSANDRA-5549 (perhaps split it off into another ticket), but 
this should be reasonably manageable.

> Prevent same CF from being enqueued to flush more than once
> -----------------------------------------------------------
>
>                 Key: CASSANDRA-6431
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6431
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Benedict
>            Assignee: Benedict
>            Priority: Minor
>
> As things stand we can, in certain circumstances, fill up the flush queue 
> with multiple requests to flush the same CF, which will lead to all writes 
> blocking until the CF is flushed. Ideally we would only enqueue each 
> CF/Memtable once and, if requested to be flushed whilst already enqueued, 
> mark it to be requeued once the outstanding flush completes.
> On a related note, a single table can already block writes if it has <flush 
> queue size> or more secondary indexes. At the same time it might be worth 
> deciding if this is also a problem and address it.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to