I am trying to re-index asynchronously using high level rest client. I configured throttling using Requests Per Seconds, Source Batch Size. I am passing my ActionListener and waiting for the response from Elastic Search. But i am not receiving the response on the listener registered with async call.
My connections settings are listed below.
Connection Timeout : 5000milliseconds
Socket Timeout : 0
Keep Alive : 20 minutes
I configured Kibana and observing the count of documents re-indexed. And all documents are re-indexed from source to destination but still i am not receiving response. Also it takes more than 20 minutes for re-index to complete.
Is this Keep-Alive setting a problem ? Does the connection is re-used because it is idle ?
Not sure what else can be the problem.
Sample Code :
ReindexRequest reindexRequest = new ReindexRequest();
reindexRequest.setSourceIndices(sourceIndex);
reindexRequest.setDestIndex(destIndex);
reindexRequest.setDestPipeline(ElasticIndex.REINDEX_PIPELINE_ID);
reindexRequest.setDestVersionType(VersionType.EXTERNAL);
reindexRequest.setDestOpType("create");
reindexRequest.setConflicts("proceed");
reindexRequest.setSourceBatchSize(requestBatchSize);
reindexRequest.setRequestsPerSecond(requestsPerSecond);
reindexRequest.setMaxRetries(10);
esClient.reindexAsync(reindexRequest, RequestOptions.DEFAULT,
new ReIndexActionListener(this, sourceIndex, destIndex));