JNA not found native methods will be disabled – How to solve this Elasticsearch error

Opster Team

Aug-23, Version: 6.8-8.9

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;
    }

 

How helpful was this guide?

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?