[ https://issues.apache.org/jira/browse/HADOOP-11064?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14126239#comment-14126239 ]
Chris Nauroth commented on HADOOP-11064: ---------------------------------------- bq. ...bundle everything, including the native code... I think there is a reliance on the Maven jar file dependency as a reliable unit of versioning. Applications expect that if they bundle their relevant Hadoop jars all at the same version, then everything is going to work. Unfortunately, it turns out that hadoop-common.jar is an "incomplete" artifact in terms of Maven versioning because of the tight coupling between the jar and the native code. If we bundled the native libs inside hadoop-common.jar (or some new jar), and extracted it automatically at runtime, then downstream projects could get a completely versioned artifact through the Maven dependency. The snappy-java project is an example of something that does this. It detects the OS and extracts the corresponding native library at runtime. I believe hadoop-lzo has just started doing something similar too. Of course, this opens up a can of worms around release engineering. The current Apache release process only builds the native components on a single platform. I can't think of a way to make this work without a lot of infrastructure work as a pre-requisite. > UnsatisifedLinkError with hadoop 2.4 JARs on hadoop-2.6 due NativeCRC32 > method changes > -------------------------------------------------------------------------------------- > > Key: HADOOP-11064 > URL: https://issues.apache.org/jira/browse/HADOOP-11064 > Project: Hadoop Common > Issue Type: Bug > Components: native > Affects Versions: 2.6.0 > Environment: Hadoop 2.6 cluster, trying to run code containing hadoop > 2.4 JARs > Reporter: Steve Loughran > Priority: Blocker > > The private native method names and signatures in {{NativeCrc32}} were > changed in HDFS-6561 ... as a result hadoop-common-2.4 JARs get unsatisifed > link errors when they try to perform checksums. > This essentially stops Hadoop 2.4 applications running on Hadoop 2.6 unless > rebuilt and repackaged with the hadoop- 2.6 JARs -- This message was sent by Atlassian JIRA (v6.3.4#6332)