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

Reply via email to