Temporary Fix when using Apache Harmony, can't handle default access modifier
in JvmContext.java
------------------------------------------------------------------------------------------------
Key: MAPREDUCE-2190
URL: https://issues.apache.org/jira/browse/MAPREDUCE-2190
Project: Hadoop Map/Reduce
Issue Type: New Feature
Affects Versions: 0.21.0
Environment: SLE v. 11, Apache Harmony 6
Reporter: Guillermo Cabrera
Priority: Minor
Using Apache Harmony Select as the JRE to test Hadoop Map/Reduce, we came
across the following error:
INFO: In JvmRunner constructed JVM ID: jvm_20101023030236354_0001_m_-37103043
Oct 23, 2010 3:03:09 AM org.apache.hadoop.mapred.JvmManager$JvmManagerForType
spawnNewJvm
INFO: JVM Runner jvm_20101023030236354_0001_m_-37103043 spawned.
Oct 23, 2010 3:03:20 AM
org.apache.hadoop.mapred.JvmManager$JvmManagerForType$JvmRunner runChild
INFO: JVM : jvm_20101023030236354_0001_m_-37103043 exited with exit
code 1. Number of tasks it ran: 0
Oct 23, 2010 3:03:20 AM org.apache.hadoop.mapred.TaskRunner run
WARNING: attempt_20101023030236354_0001_m_000000_0 : Child Error
Throwable occurred: java.io.IOException: Task process exit with
nonzero status of 1.
at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:236)
Oct 23, 2010 3:03:31 AM org.apache.hadoop.security.Groups <init>
INFO: Group mapping
impl=org.apache.hadoop.security.ShellBasedUnixGroupsMapping;
cacheTimeout=300000
Uncaught exception in main:
java.lang.IllegalAccessError: from $Proxy0 to
org/apache/hadoop/mapred/JvmContext
at $Proxy0.<clinit>(Unknown Source)
at java.lang.reflect.VMReflection.newClassInstance(VMReflection.java)
at java.lang.reflect.Constructor.newInstance(Constructor.java:282)
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:218)
at
org.apache.hadoop.ipc.WritableRpcEngine.getProxy(WritableRpcEngine.java:224)
at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:225)
at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:214)
at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:242)
at org.apache.hadoop.mapred.Child$1.run(Child.java:100)
at org.apache.hadoop.mapred.Child$1.run(Child.java:97)
at
java.security.AccessController.doPrivilegedImpl(AccessController.java:112)
at java.security.AccessController.doPrivileged(AccessController.java:86)
at
javax.security.auth.Subject.doAs_PrivilegedExceptionAction(Subject.java:284)
at javax.security.auth.Subject.doAs(Subject.java:225)
at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:742)
at org.apache.hadoop.mapred.Child.main(Child.java:96)
As a temporary fix, we are including a patch that will add the public access
modifier to constructors in JvmContext.java and SortedRanges.java. It seems
Apache Harmony has issues with the default access modifier. This is a problem
with Apache Harmony and not Hadoop Map/Reduce, however, we wanted to introduce
a temporary fix for anyone working with Hadoop and Apache Harmony.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.