Skip to content

Conversation

@jackylee-ch
Copy link

Merged from apache/arrow.

We are using Arrow in Spark. When speculation is turned on, it is possible for the task to be forcibly killed during the running process. It means, JniLoader.get().ensureLoaded() maybe failed with ClosedByInterruptException when the task was killed, and it should be accepted with this.
However, NativeMemoryPool use it as a static code, this leads to an init failure every time the NativeMemroyPool is trying to initialized and can never succeed. It would always fail to init NativeMemoryPool with java.lang.NoClassDefFoundError: Could not initialize class org.apache.arrow.dataset.jni.NativeMemoryPool.

…cally (apache#13146)

We are using Arrow in Spark. When speculation is turned on, it is possible for the task to be forcibly killed during the running process. It means, `JniLoader.get().ensureLoaded()` maybe failed with `ClosedByInterruptException` when the task was killed, and it should be accepted with this.
However, `NativeMemoryPool` use it as a static code, this leads to an init failure every time the NativeMemroyPool is trying to initialized and can never succeed. It would always fail to init `NativeMemoryPool` with `java.lang.NoClassDefFoundError: Could not initialize class org.apache.arrow.dataset.jni.NativeMemoryPool`.

Lead-authored-by: jackylee-ch <lijunqing@baidu.com>
Co-authored-by: stczwd <qcsd2011@163.com>
Signed-off-by: David Li <li.davidm96@gmail.com>
@github-actions
Copy link

@zhouyuan zhouyuan merged commit 71a6072 into oap-project:arrow-4.0.0-oap Jun 27, 2022
@jackylee-ch jackylee-ch deleted the fix_jni_load_failed_for_oap branch June 27, 2022 09:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants