Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JNA support for IBM power platform #26594

Closed
bounddog opened this issue Sep 12, 2017 · 1 comment
Closed

JNA support for IBM power platform #26594

bounddog opened this issue Sep 12, 2017 · 1 comment
Labels
:Core/Infra/Core Core issues without another label v5.4.2

Comments

@bounddog
Copy link

I installed the elasticsearch v5.4.2 on IBM power 64 platform, and found errors in elasticsearch log:

[2017-09-11T05:15:46,883][WARN ][o.e.b.Natives ] unable to load JNA native support library, native methods will be disabled.
java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/linux-ppc64le/libjnidispatch.so) not found in resource path ([
....
])
at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:962) ~[jna-4.4.0.jar:4.4.0 (b0)]
at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:922) ~[jna-4.4.0.jar:4.4.0 (b0)]
at com.sun.jna.Native.(Native.java:190) ~[jna-4.4.0.jar:4.4.0 (b0)]
at sun.misc.Unsafe.ensureClassInitialized(Native Method) ~[?:1.8.0]
at java.lang.J9VMInternals.initialize(J9VMInternals.java:82) ~[?:2.6 (06-16-2017)]
at java.lang.Class.forName(Class.java:287) ~[?:2.6 (06-16-2017)]
at org.elasticsearch.bootstrap.Natives.(Natives.java:45) [elasticsearch-5.4.2.jar:5.4.2]
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:125) [elasticsearch-5.4.2.jar:5.4.2]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:194) [elasticsearch-5.4.2.jar:5.4.2]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:350) [elasticsearch-5.4.2.jar:5.4.2]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:123) [elasticsearch-5.4.2.jar:5.4.2]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:114) [elasticsearch-5.4.2.jar:5.4.2]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) [elasticsearch-5.4.2.jar:5.4.2]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:122) [elasticsearch-5.4.2.jar:5.4.2]
at org.elasticsearch.cli.Command.main(Command.java:88) [elasticsearch-5.4.2.jar:5.4.2]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) [elasticsearch-5.4.2.jar:5.4.2]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) [elasticsearch-5.4.2.jar:5.4.2]
[2017-09-11T05:15:46,890][WARN ][o.e.b.Natives ] cannot register console handler because JNA is not available
[2017-09-11T05:15:46,892][WARN ][o.e.b.Natives ] cannot getrlimit RLIMIT_NPROC because JNA is not available
[2017-09-11T05:15:46,892][WARN ][o.e.b.Natives ] cannot getrlimit RLIMIT_AS beacuse JNA is not available

I checked the jna-4.4.0.jar shipped in elasticsearch, it doesn't have native library for other platform support, only have windows and x86-64 support.

I compared the jna-4.4.0.jar from elasticsearch with the official one downloaded from https://github.com/java-native-access/jna#download, it seems elastic team had simplified the jar, removed other platforms support.

@tlrx tlrx added :Core/Infra/Core Core issues without another label v5.4.2 labels Sep 12, 2017
@tlrx
Copy link
Member

tlrx commented Sep 12, 2017

I checked the jna-4.4.0.jar shipped in elasticsearch, it doesn't have native library for other platform support, only have windows and x86-64 support.

I compared the jna-4.4.0.jar from elasticsearch with the official one downloaded from https://github.com/java-native-access/jna#download, it seems elastic team had simplified the jar, removed other platforms support.

Since #24081 we switched to our own build of JNA, mostly because in version 4.4.0 the library is linked against a version of glibc that is not available on all supported platforms . The issue #23640 gives more context.

We don't really simplified the JAR, but instead we made sure that the JNA library used by Elasticsearch is linked to the right glibc version on all the platforms we support and test as part of our CI infrastructure.

As you can see on https://www.elastic.co/fr/support/matrix#matrix_jvm IBM JVM are not supported (nor tested on our CI). I don't think that we have plan to support it in the future, so I'm closing this for now.

@tlrx tlrx closed this as completed Sep 12, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Core/Infra/Core Core issues without another label v5.4.2
Projects
None yet
Development

No branches or pull requests

2 participants