Cannot install syscall filters because JNA is not available – How to solve this Elasticsearch error

Opster Team

Aug-23, Version: 2.3-2.3

Briefly, this error occurs when Elasticsearch is unable to install system call filters due to the unavailability of Java Native Access (JNA). JNA is a library that allows Java applications to access native shared libraries. This could be due to a missing or incompatible JNA version. To resolve this issue, you can either install or update the JNA library. Alternatively, you can disable the bootstrap.system_call_filter setting in the Elasticsearch configuration file, but this may expose your system to certain types of vulnerabilities.

This guide will help you check for common problems that cause the log ” cannot install syscall filters because JNA is not available ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: bootstrap.

Log Context

Log “cannot install syscall filters because JNA is not available” classname is Natives.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

         return JNANatives.LOCAL_MLOCKALL;
    }
    
    static void trySeccomp(Path tmpFile) {
        if (!JNA_AVAILABLE) {
            logger.warn("cannot install syscall filters because JNA is not available");
            return;
        }
        JNANatives.trySeccomp(tmpFile);
    }
    




 

 [ratemypost]