I'm experiencing a deadlock while using the bulk ingester, specifically during the flush operation. Several threads are blocked, each waiting with the following stack trace:
The BulkIngester had a known deadlock problem, until it was mostly solved in 8.15.2; "mostly" because there is still a user that is experiencing the issue even after the updates, but we couldn't reproduce it using the exact same code, so we concluded that it probably is something machine/OS related that we don't have control over.
You can read the original issue on our github, in particular reading the comments to understand whether your problem could be solved by tweaking the BulkIngester configuration or changing the Listener implementation.
I just saw the edit with the additional information, so maxConcurrentRequests is a parameter that indicated how many requests will be sent in parallel to the elasticsearch server, and having just 1 request going out at a time with 30 adding threads will surely bottleneck the BulkIngester. Since even smaller deployments of the elasticsearch server can easily handle multiple requests at once, I suggest trying to increase maxConcurrentRequests to 10 and trying again.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.