[
https://issues.apache.org/jira/browse/HADOOP-11127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14955526#comment-14955526
]
Colin Patrick McCabe commented on HADOOP-11127:
-----------------------------------------------
I think Alan's proposal is reasonable. Adding a version number to the library
name is a simple, easy solution that fixes the cross-version compatibility
problems that [~alanburlison] identified. As per the email thread, we already
have cases of real incompatibilities in {{libhadoop.so}} between versions. I
agree it is inconvenient to make the user install {{libhadoop.2.7.3.so}} before
using Hadoop 2.7.3 (or whatever version). But after all, this is something
that Ambari and Cloudera Manager could both handle really well.
{{libhadoop.so}} is less than megabyte in size-- it's hardly an overwhelming
burden to have even a dozen different versions installed.
Does anyone have an alternative proposal (and implementation?) to
[~alanburlison]'s? If not, then I think we should accept his. We can always
do the "jar bundling" solution later.
> 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.01.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)