[
https://issues.apache.org/jira/browse/HADOOP-11127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14949178#comment-14949178
]
Colin Patrick McCabe commented on HADOOP-11127:
-----------------------------------------------
Hi [~alanburlison],
Thanks for posting your proposal in proposal.txt. Let me take a look:
I don't view option #3 (Bundle the JNI component inside the JAR alongside the
Java component and distribute that as part of the jobs) as unworkable. If the
cluster contains multiple different platforms, we can have code that selects
the correct one. I also feel that this use case is extremely, extremely rare
(to the point where I've never actually seen it, and I doubt anyone here has
either). We could certainly have an escape valve just for this case where we
look for a system {{libhadoop.so}}. However, this is something we could
consider later.
Versioning: I agree that internal versioning is overly complex for what we
need. As you mention, the version suffixes on libraries are not supported by
{{java.lang.System.loadLibrary}}, so we can't use that. I think the proposal
for forming a composite name is very reasonable.
+1 for the proposal in proposal.txt.
> Improve versioning and compatibility support in native library for downstream
> hadoop-common users.
> --------------------------------------------------------------------------------------------------
>
> Key: HADOOP-11127
> URL: https://issues.apache.org/jira/browse/HADOOP-11127
> Project: Hadoop Common
> Issue Type: Bug
> Components: native
> Reporter: Chris Nauroth
> Assignee: Alan Burlison
> Attachments: HADOOP-11064.003.patch, proposal.txt
>
>
> There is no compatibility policy enforced on the JNI function signatures
> implemented in the native library. This library typically is deployed to all
> nodes in a cluster, built from a specific source code version. However,
> downstream applications that want to run in that cluster might choose to
> bundle a hadoop-common jar at a different version. Since there is no
> compatibility policy, this can cause link errors at runtime when the native
> function signatures expected by hadoop-common.jar do not exist in
> libhadoop.so/hadoop.dll.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)