A question regarding batch mutates and how others might be throttling the
system to prevent timeouts.

My 3-node, RF=3 cluster has been performing ok while bulk loading data
(applying counter updates). I've been able to run 16 threads in parallel
that each perform about 400 mutates/s on a loaded cluster.
Then I thought, hey, let's get rid of the network round trip and batch this
thing...

So I converted my code to use a mutator and addCounter instead of
insertCounter (on Hector). However, when I do, the results are always bad.
When I execute()
 - every 5000 lines, I get wonderful performance but I constantly get
Timeouts
 - every 500, same thing
 - every 10, the timeouts take longer to appear but they're still there
 - every 1, it works just like before batching
And this happens even with a single thread running

So my question is not about the absolute performance of my cluster but about
how I'm supposed to use batch updates : it doesn't look like the execute()
call blocks until it's performed the mutation and tpstats has showed up to
200.000 mutations pending.

Any ideas ?

Reply via email to