cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benedict (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-6431) Prevent same CF from being enqueued to flush more than once
Date Tue, 03 Dec 2013 10:18:36 GMT


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:
>             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

View raw message