Hi,
Often times I observe that Java BulkItemResponse does not contain some of documents I put in the corresponding BulkRequest.
I don't see any error log in ES's log file.
(I have action: DEBUG in logging.yml)
Please guide me where to look at.
Thank you for your help.
I found on the client side, I have following error:
ERROR;[search.analyzer.ElasticSearchIndexer:303][BatchingQueue-timer] bulk
request:org.elasticsearch.ElasticSearchTimeoutException: Timeout waiting for
task.
How many documents (and of what size) are you bulk indexing in a single
request?
It is happening now and this time the error is only from one of my indices.
(I bulk requests by index. I have 70+ indices.)
70 indices running on how many nodes?
My guess would be:
passing too much data at once to bulk
running too many indices on too few nodes with not enough resources
Also, it seems like the timeout is not coming from elasticsearch itself, but from the client library you are using? If its the Java client, do you execute the bulk with a timeout?
I found on the client side, I have following error:
ERROR;[search.analyzer.ElasticSearchIndexer:303][BatchingQueue-timer] bulk
request:org.elasticsearch.ElasticSearchTimeoutException: Timeout waiting for
task.
How many documents (and of what size) are you bulk indexing in a single
request?
It is happening now and this time the error is only from one of my indices.
(I bulk requests by index. I have 70+ indices.)
70 indices running on how many nodes?
My guess would be:
passing too much data at once to bulk
running too many indices on too few nodes with not enough resources
How many documents (and of what size) are you bulk indexing in a single request?
I limit up to 100 indexings or deletions in a bulk.
70 indices running on how many nodes?
I have 13 nodes.
Also, it seems like the timeout is not coming from elasticsearch itself, but from the client library you are using? If its the Java client, do you execute the bulk with a timeout?
The exception is caught by my code. It is thrown by the following code:
BulkRequestBuilder req = client.prepareBulk();
req.add(...); // up to 100 times
req.execute().actionGet(60000, TimeUnit.MILLISECONDS);
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.