[
https://issues.apache.org/jira/browse/AVRO-1567?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14112007#comment-14112007
]
Tony Reix commented on AVRO-1567:
---------------------------------
1) Avro needs... Avro.
After a complete clean (in my Avro directory and ni my Maven .m2 repository),
I've noticed that some Avro Java parts need some other Avro parts.
Example:
[INFO] Building Apache Avro Tools 1.7.4
[INFO]
------------------------------------------------------------------------
Downloading:
http://repo.maven.apache.org/maven2/org/apache/avro/trevni-avro/1.7.4/trevni-avro-1.7.4.jar
I think that this may lead to issues in environments different than the
"classic" one (non-IBM JVM + x86_64 machine).
Is it possible to have the needed parts of Avro being compiled before the parts
of Avro that need them ?
2) build.sh is hadoop1 by default.
Since mvn commands dealing with lang/java do not contain any -P or -D option
for specifying the Hadoop version, it is compiled for Hadoop 1 by default.
Compiling Avro with Hadoop 2 and by means of build.sh requires to modify this
launcher.
For every task dealing with lang/java, I have added "-Phadoop2
-Dhadoop.version=2 " to the mvn command that appears in build.sh .
(Moreover, I've added "-fn" when tests are run in order to have tests
continuing after an error/failure is encountered)
It would be very useful to have some variable set at beginning of build.sh for
using Hadoop2 by default.
> Avro java tools tests fail with IBM JVM
> ---------------------------------------
>
> Key: AVRO-1567
> URL: https://issues.apache.org/jira/browse/AVRO-1567
> Project: Avro
> Issue Type: Bug
> Components: java
> Affects Versions: 1.7.4, 1.7.7
> Environment: RHEL 6.5 on x86_64
> IBM JVM 7.1.1.1
> HADOOP 2.4.1
> Reporter: Tony Reix
> Priority: Blocker
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> When using IBM JVM, compared to Oracle JVM, 25 of the Avro Tools tests fail.
> This is due to Avro using Hadoop which uses class:
> org/apache/hadoop/security/UserGroupInformation.java
> which makes use of:
> com.sun.security.auth.module.UnixLoginModule
> which does not exist in IBM JVM.
> Instead there is the class:
> com.ibm.security.auth.module.LinuxLoginModule
> that can be used in UserGroupInformation.java if the JVM is IBM.
> With a IBM-JVM patched version of Hadoop that takes care of the kind of JVM,
> these 25 Avro Java Tools tests still fail because the pom.xml file of:
> lang/java/tools/
> says unconditionnaly (starting line 146 in Avro 1.7.7) :
> <dependency>
> <groupId>org.apache.hadoop</groupId>
> <artifactId>hadoop-core</artifactId>
> Using:
> mvn -Phadoop2 -Dhadoop.version=2 test
> is of no help.
> In fact, hadoop-core exists only for old Hadoop versions (here version
> 0.20.205.0 is used by Avro), and not for Hadoop 2.4.1 .
> Replacing hadoop-core by hadoop-client in lang/java/tools/pom.xml file does
> fix the issue, as a work-around.
> However, a more rigorous solution is required, like it is done in
> lang/java/mapred/pom.xm , where hadoop-core is associated with hadoop1 and
> hadoop-client is associated with hadoop2 .
> I'm not an expert of Maven/pom.xml, and the pom.xml file of tools contains
> <exclusions> tags I have no idea. So, I'm not sure I can provide a correct
> patch.
> I guess that a Maven/pom.xml expert should be able to fix this in some
> minutes, plus testing.
--
This message was sent by Atlassian JIRA
(v6.2#6252)