You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "David Li (Jira)" <ji...@apache.org> on 2022/06/08 13:31:00 UTC

[jira] [Resolved] (ARROW-16566) [Java] Could not initialize class org.apache.arrow.dataset.jni.NativeMemoryPool

     [ https://issues.apache.org/jira/browse/ARROW-16566?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Li resolved ARROW-16566.
------------------------------
    Resolution: Fixed

Issue resolved by pull request 13146
[https://github.com/apache/arrow/pull/13146]

> [Java] Could not initialize class org.apache.arrow.dataset.jni.NativeMemoryPool
> -------------------------------------------------------------------------------
>
>                 Key: ARROW-16566
>                 URL: https://issues.apache.org/jira/browse/ARROW-16566
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: Java
>    Affects Versions: 8.0.0
>            Reporter: Jackey Lee
>            Assignee: Jackey Lee
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 9.0.0
>
>          Time Spent: 2h 10m
>  Remaining Estimate: 0h
>
> We are using Arrow in Spark. When the specification 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. Meanwhile `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`



--
This message was sent by Atlassian Jira
(v8.20.7#820007)