Hi, I'm using elastic java highclientrestclient and bulk processor, when writing data periodically every 1m, noticed new tcp port is used and old port remains in established state, after a while noticed lot of tcp connections are established with elastic search and eventually process die with not able to create a tcp port/file descriptor.
Below are settings i'm using in java rest client and bulk processor
public BulkProcessor createBulkProcessor() {
....
BiConsumer<BulkRequest, ActionListener<BulkResponse>> bulkConsumer =
(request, bulkListener) ->
client.bulkAsync(request, RequestOptions.DEFAULT, bulkListener);
BulkProcessor.Builder builder =
BulkProcessor.builder(bulkConsumer, listener)
.setFlushInterval(TimeValue.timeValueSeconds(10L))
.setBackoffPolicy(BackoffPolicy.exponentialBackoff(TimeValue.timeValueSeconds(1L),
5));
.setBulkActions();
.setBulkSize(new ByteSizeValue(5, ByteSizeUnit.MB)).setConcurrentRequests(2)
}
RestClientBuilder restClientBuilder;
restClientBuilder = RestClient.builder(new HttpHost(config.elasticHostName, config.elasticPort, "https"));
try {
restClientBuilder.setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
@Override
public HttpAsyncClientBuilder customizeHttpClient(
HttpAsyncClientBuilder httpClientBuilder) {
return httpClientBuilder.setSSLContext(sslContext);
}
});
}
catch (Exception ex) {
ex.printStackTrace();
}
this.client = new RestHighLevelClient(restClientBuilder);
this.bulkProcessor = createBulkProcessor();
}
# nsenter -t 10962 -n netstat -tanp | grep 9200 ; date
tcp6 0 0 30.0.220.59:38648 100.80.111.216:9200 ESTABLISHED 10960/java
tcp6 0 0 30.0.220.59:38314 100.80.111.216:9200 ESTABLISHED 10960/java
Thu Oct 3 14:19:38 UTC 2019
# nsenter -t 10962 -n netstat -tanp | grep 9200 ; date
tcp6 0 0 30.0.220.59:39058 100.80.111.216:9200 ESTABLISHED 10960/java <<< New connection
tcp6 0 0 30.0.220.59:38648 100.80.111.216:9200 ESTABLISHED 10960/java . <<< old conection is still open
tcp6 0 0 30.0.220.59:39458 100.80.111.216:9200 ESTABLISHED 10960/java
tcp6 0 0 30.0.220.59:38314 100.80.111.216:9200 ESTABLISHED 10960/java
Thu Oct 3 14:21:16 UTC 2019