Briefly, this error occurs when Elasticsearch cannot find the Java Native Access (JNA) library, which is used to call native system functions. This can lead to reduced performance or disabled features. To resolve this issue, ensure that the JNA library is correctly installed and accessible to Elasticsearch. You can do this by checking the Elasticsearch classpath or by reinstalling Elasticsearch. Alternatively, you can manually add the JNA library to the Elasticsearch lib directory.
This guide will help you check for common problems that cause the log ” JNA not found. native methods will be disabled. ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: bootstrap.
Log Context
Log “JNA not found. native methods will be disabled.” classname is Natives.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :
// load one of the main JNA classes to see if the classes are available. this does not ensure that all native // libraries are available; only the ones necessary by JNA to function Class.forName("com.sun.jna.Native"); v = true; } catch (ClassNotFoundException e) { logger.warn("JNA not found. native methods will be disabled."; e); } catch (UnsatisfiedLinkError e) { logger.warn("unable to load JNA native support library; native methods will be disabled."; e); } JNA_AVAILABLE = v; }