harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Ellison <t.p.elli...@gmail.com>
Subject Re: [hadoop]Status about hadoop unit testing.
Date Wed, 28 Jul 2010 07:49:35 GMT
A good summary, thanks Charles.

More below...

On 28/Jul/2010 06:49, Charles Lee wrote:
> Hi guys,
> I am running hadoop unit testing and trying to fix some failures for a
> while. Combining two great projects excites me a lot. Here is my current
> status:
> Env:
> Harmony 6 (requires by hadoop) + linux 32 platform
> Using: run-test-core
> Whole test cases:  757
> Failures: 8
> Errors: 25
> To get this result, some code need to be changed in hadoop-common [0], some
> jiras should be commited [1] and some modules I borrowed from RI [2].
> [0]
> a. UserGroupInformation.java should be changed, because hadoop hard coding
> the its login module, using com.sun.security things.
> b. reduce the failure trying times from 45 to 2. Because junit testcase will
> be timeout if we are trying 45 times. (ri also failed on this)

Maybe raise Hadoop JIRAs?

> [1]
> a. HARMONY-6529 </jira/browse/HARMONY-6529>. hadoop is required jdk1.6,
> patch available.
> b. HARMONY-6561 </jira/browse/HARMONY-6561> Fixed
> c. HARMONY-6569 </jira/browse/HARMONY-6569> Fixed
> d. HARMONY-6571 </jira/browse/HARMONY-6571> JNDI things
> e. HARMONY-6575 </jira/browse/HARMONY-6575> It may be a drlvm, in my todo
> list.
> f.  HARMONY-6580 </jira/browse/HARMONY-6580>,
> HARMONY-6605</jira/browse/HARMONY-6605>
>  Fixed
> g. HARMONY-6587 </jira/browse/HARMONY-6587> Fixed
> h. HARMONY-6604 </jira/browse/HARMONY-6604> Behavior different between ri
> and harmony

I can help with these.

> [2]
> a. add tools.jar, which in the harmony jdk/lib, in the
> bootclasspath.properties. Ant try to find the com.sun.tools.javac.Main to
> determine whether JAVA_HOME is point to a jre or a jdk. This jar is not from
> ri, but we may need to change our layout a little bit.

I'm struggling a bit to follow you.

Both the RI and harmony have got a <JAVA_HOME>/lib/tools.jar, and both
contain a type called "com.sun.tools.javac.Main" (we added it in Harmony
for compatibility).

So what is the issue here?

> b. add ecj.jar to the $ANT_HOME/lib or add it in the
> bootclasspath.properties.

This is to get the Ant <javac> task working?

> c. javax.annotation.processing, javax.lang.model, javax.tools, these package
> borrow from RI, which is missing in harmony java6.

Ok - not sure if there is an ALv2 version around for these.

> d. sun.security.krb5, this package borrow from RI. Do we have couterpart in
> harmony? I have not found one.
> e. sun.misc.HexDumpEncoder, this borrow from RI. Missing in harmony java6.
> f.  sun.reflect.ReflectionFactory, this borrow from RI. Missing in harmony
> java6. [3]
> g. sun/misc/Unsafe.defineClass(Ljava/lang/String;[BIILjava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
> This method is not defined in our Unsafe. [3]

No idea what d,e,f are doing, but seems unfortunate that Hadoop is using
them, sounds like a conversation to have with the Hadoop project.

We can guess what g would do, and include that in our Unsafe (but again
would be interested to know why Hadoop is using this rather than the
ClassLoader#defineClass API).

> h. javadoc and doclet package is borrowed from RI. Missing in harmony java6.
> Is is one of our GSoC now?

No, but I assume they are not needed for normal operations of Hadoop?

> [3]
> f and g in [2] is raised from a popular project: mockito. Mockito is using
> another project: objenesis. Now g is at the top of my todo list.

Ah, so these non-API calls are made by a Hadoop dependency?


View raw message