[
https://issues.apache.org/jira/browse/FLINK-5408?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stephan Ewen resolved FLINK-5408.
---------------------------------
Resolution: Fixed
Fixed in
- 1.2.0 via 91f9a1acaa899159a0d907528634bd246e6854b4
- 1.3.0 via 3070ff9a6d9de47a4713d4b4952929f8c00043b1
> RocksDB initialization can fail with an UnsatisfiedLinkError in the presence
> of multiple classloaders
> -----------------------------------------------------------------------------------------------------
>
> Key: FLINK-5408
> URL: https://issues.apache.org/jira/browse/FLINK-5408
> Project: Flink
> Issue Type: Bug
> Components: ksDB State Backend
> Affects Versions: 1.2.0
> Reporter: Stephan Ewen
> Assignee: Stephan Ewen
> Fix For: 1.2.0, 1.3.0
>
>
> When the RocksDB is loaded from different ClassLoaders (for example because
> it is in the user code jar, or loaded dynamically in tests) it may fail with
> an {{"java.lang.UnsatisfiedLinkError: Native Library
> /path/to/temp/dir/librocksdbjni-linux64.so already loaded in another
> classloader}}.
> Apparently the JVM can handle multiple instances of the same JNI library
> being loaded in different class loaders, but not when coming from the same
> file path.
> This affects only version 1.2 onward, because from there we extract the JNI
> library into Flink's temp folders to make sure that it gets cleaned up for
> example by YARN when the application finishes. When giving a parent
> directory, RocksDB does not add a unique number sequence to the temp file
> name.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)