If you run 16 python processes, why do you run 20 Java threads and not 16?

Most important is the bulk action size (how many requests are sent) and the
concurrency (how many bulk requests are active), also the bulk request
volume.

I recommend to control the concurrency, your code does not do it. It is not
a question of actionGet() blocking. You push blindly data to the cluster no
matter what other threads are doing. A more polite way would be to find out
if a concurrency or volume threshold has been exceeded, so it can be
decided if the client should wait for bulk responses before sending a new
bulk request.

All of this is solved by BulkProcessor.

Regarding your exception message, you should post complete code (both
python and Java). It is not possible to trace bugs in your code by looking
at code fragments/pseudo code.

Jörg


On Sat, Mar 29, 2014 at 8:19 PM, <[email protected]> wrote:

> By the way I can successfully run 16 python processes no problem.
> So the server can handle concurrent bulk requests.
> The problem is with my java code as it somehow starts threads indefinitely
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/CAKdsXoHUiASSj5nU-PGvx%3DsTuHv7-MQswmLdVDNnmsdmwJBztw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to