Performance analyzer fails if ipv6 is disabled

I’m having problems getting elastic to start, apparently related to ipv6 not being enabled:

java.io.FileNotFoundException: /proc/net/tcp6 (No such file or directory)
at java.io.FileInputStream.open0(Native Method) ~[?:?]
at java.io.FileInputStream.open(FileInputStream.java:219) ~[?:?]
at java.io.FileInputStream.(FileInputStream.java:157) ~[?:?]
at java.io.FileReader.(FileReader.java:75) ~[?:?]
at com.amazon.opendistro.elasticsearch.performanceanalyzer.hwnet.NetworkE2E.mapTCPMetrics(NetworkE2E.java:128) [opendistro_performance_analyzer-0.7.0.0.jar:0.7.0.0]
at com.amazon.opendistro.elasticsearch.performanceanalyzer.hwnet.NetworkE2E.mapTCPMetrics(NetworkE2E.java:144) [opendistro_performance_analyzer-0.7.0.0.jar:0.7.0.0]
at com.amazon.opendistro.elasticsearch.performanceanalyzer.hwnet.NetworkE2E.addSample(NetworkE2E.java:201) [opendistro_performance_analyzer-0.7.0.0.jar:0.7.0.0]
at com.amazon.opendistro.elasticsearch.performanceanalyzer.metrics_generator.linux.LinuxTCPMetricsGenerator.addSample(LinuxTCPMetricsGenerator.java:65) [opendistro_performance_analyzer-0.7.0.0.jar:0.7.0.0]
at com.amazon.opendistro.elasticsearch.performanceanalyzer.collectors.NetworkE2ECollector.collectMetrics(NetworkE2ECollector.java:38) [opendistro_performance_analyzer-0.7.0.0.jar:0.7.0.0]
at com.amazon.opendistro.elasticsearch.performanceanalyzer.collectors.PerformanceAnalyzerMetricsCollector.lambda$run$0(PerformanceAnalyzerMetricsCollector.java:57) [opendistro_performance_analyzer-0.7.0.0.jar:0.7.0.0]
at com.amazon.opendistro.elasticsearch.performanceanalyzer.PerformanceAnalyzerPlugin.lambda$invokePrivileged$1(PerformanceAnalyzerPlugin.java:104) [opendistro_performance_analyzer-0.7.0.0.jar:0.7.0.0]
at java.security.AccessController.doPrivileged(Native Method) [?:?]
at com.amazon.opendistro.elasticsearch.performanceanalyzer.PerformanceAnalyzerPlugin.invokePrivileged(PerformanceAnalyzerPlugin.java:102) [opendistro_performance_analyzer-0.7.0.0.jar:0.7.0.0]
at com.amazon.opendistro.elasticsearch.performanceanalyzer.collectors.PerformanceAnalyzerMetricsCollector.run(PerformanceAnalyzerMetricsCollector.java:57) [opendistro_performance_analyzer-0.7.0.0.jar:0.7.0.0]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:834) [?:?]

is there any configuration option I can pass to avoid performance analyzer trying to use/read ipv6 metrics?

Thanks for reporting the issue. Exception logging is misleading, but looking at the code, logging this exception as error is not correct if ipv6 is not enabled performance-analyzer/NetworkE2E.java at opendistro-0.7 · opendistro-for-elasticsearch/performance-analyzer · GitHub

But it shouldn’t fail elastic to start because of this (because of the code I pasted, where we are absorbing this, logging the error). Are you sure this is the only exception or any other exceptions you see because of which the start has failed

thanks.

You’re right, the exception was not causing Elasticsearch to not start; in my case I had a combination of this misleading exception and some corrupted/large indexes which prevented elasticsearch from starting in a timely manner.
Sorry for the confusion.

1 Like