Hello Team,

We tried the HDFS LCM for v3.4.0 even on java8 thinking it might be an issue of 
java11 but even that didn't work.

We would greatly appreciate any insights or solutions you can provide to help 
resolve this issue.
If you need any further information or details, please do not hesitate to ask.

Regards
Sonal Sharma

From: Sonal Sharma A
Sent: Monday, July 22, 2024 7:31 PM
To: user@hadoop.apache.org
Subject: Issue with JNI call for 
jniEnv->FindClass(<relative_class_path>/<class_name>) in our application jar 
having HDFS client v3.4.0 bundled inside it.

Dear Hadoop Community Support Team,

I am writing to report an issue we are experiencing with JNI call for 
jniEnv->FindClass(<relative_class_path>/<class_name>) in our application jar 
having HDFS client v3.4.0 bundled inside it. This issue does not occur with 
application jar bundled with HDFS client version 3.3.6 .
In other words we are facing issue in JNI call after upgrade of HDFS client.
There is no application code change reagarding the way class path, JNI 
environment, JNI Options, JNI args are being initialized before calling this 
method.
Only change is to upgrade from hdfs-client v3.3.6 to v3.4.0

This JNI call is from C++ code, 
jniEnv->FindClass(<relative_class_path>/<class_name>).
Here are the details of the issue:

hdfs client library v3.4.0
OS : SLES 15 SP4
JNI Call: jniEnv->FindClass(<relative_class_path>/<class_name>)
relative_class_path has forward slash(/) in between directories and is not 
absolute path. The class_name is the application specific class inside the jar.

We are getting the following Error Message when jniEnv->FindClass() method is 
called:
_dl_catch_error () from ../libc.so.6
in _dl_catch_error () from ..//libc.so.6
   in _dlerror_run () from ..//libdl.so.2
   in dlsym () from ..//libdl.so.2
   in NativeLookup::lookup_style(methodHandle const&, char*, char const*, int, 
bool, bool&, Thread*) () from
   ../java/jdk/lib/server/libjvm.so
   in NativeLookup::lookup_base(methodHandle const&, bool&, Thread*) ()
   from /../java/jdk/lib/server/libjvm.so
   in NativeLookup::lookup(methodHandle const&, bool&, Thread*) ()
   from /../java/jdk/lib/server/libjvm.so
   in InterpreterRuntime::prepare_native_call(JavaThread*, Method*) ()
   from /../java/jdk/lib/server/libjvm.so

We would greatly appreciate any insights or solutions you can provide to help 
resolve this issue.
If you need any further information or details, please do not hesitate to ask.

Regards
Sonal Sharma

Reply via email to