You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Daniel Doubleday <da...@gmx.net> on 2011/03/14 19:03:49 UTC
Increase flush writer queue
Hi all,
on 0.6:
we are facing increased write latencies every now and then when an unfortunate write command thread becomes the flush writer for a mem table because of an already running mem table flush.
I was thinking of setting the work queue in CFS.flushWriterPool to
new LinkedBlockingQueue<Runnable>(3) // because 3 is my favorite number
instead of
new LinkedBlockingQueue<Runnable>(DatabaseDescriptor.getAllDataFileLocations().length)
while leaving the max threads at 1 (we have only one date dir)
I'm not afraid to OOM. We have enough heap to hold the extra 2 mem tables.
Anybody did this and got in trouble?
PS: I know that 0.7 makes this configurable (but also increases writer concurrency while I would rather only queue).
Thanks,
Daniel
Re: Increase flush writer queue
Posted by Jonathan Ellis <jb...@gmail.com>.
Sure, that should be fine.
On Mon, Mar 14, 2011 at 1:03 PM, Daniel Doubleday
<da...@gmx.net> wrote:
> Hi all,
>
> on 0.6:
>
> we are facing increased write latencies every now and then when an unfortunate write command thread becomes the flush writer for a mem table because of an already running mem table flush.
>
> I was thinking of setting the work queue in CFS.flushWriterPool to
>
> new LinkedBlockingQueue<Runnable>(3) // because 3 is my favorite number
>
> instead of
>
> new LinkedBlockingQueue<Runnable>(DatabaseDescriptor.getAllDataFileLocations().length)
>
> while leaving the max threads at 1 (we have only one date dir)
>
> I'm not afraid to OOM. We have enough heap to hold the extra 2 mem tables.
>
> Anybody did this and got in trouble?
>
> PS: I know that 0.7 makes this configurable (but also increases writer concurrency while I would rather only queue).
>
> Thanks,
> Daniel
--
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of DataStax, the source for professional Cassandra support
http://www.datastax.com
Re: Increase flush writer queue
Posted by Brandon Williams <dr...@gmail.com>.
On Mon, Mar 14, 2011 at 1:03 PM, Daniel Doubleday
<da...@gmx.net>wrote:
> I was thinking of setting the work queue in CFS.flushWriterPool to
>
> new LinkedBlockingQueue<Runnable>(3) // because 3 is my favorite number
>
> instead of
>
> new
> LinkedBlockingQueue<Runnable>(DatabaseDescriptor.getAllDataFileLocations().length)
>
Alternately, you could add two more data directories on the same mount point
to avoid having to float a patch and do a custom deployment.
-Brandon