[jira] [Comment Edited] (HADOOP-11804) POC Hadoop Client w/o transitive dependencies

2016-12-09 Thread Sean Busbey (JIRA)

[ 
https://issues.apache.org/jira/browse/HADOOP-11804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15737321#comment-15737321
 ] 

Sean Busbey edited comment on HADOOP-11804 at 12/10/16 6:16 AM:


-14

  - rebased to trunk (4c38f11)
  - move compilation of our integration test to after the shaded artifacts they 
need exist.


was (Author: busbey):
-14

  - move compilation of our integration test to after the shaded artifacts they 
need exist.

> POC Hadoop Client w/o transitive dependencies
> -
>
> Key: HADOOP-11804
> URL: https://issues.apache.org/jira/browse/HADOOP-11804
> Project: Hadoop Common
>  Issue Type: Sub-task
>  Components: build
>Reporter: Sean Busbey
>Assignee: Sean Busbey
> Attachments: HADOOP-11804.1.patch, HADOOP-11804.10.patch, 
> HADOOP-11804.11.patch, HADOOP-11804.12.patch, HADOOP-11804.13.patch, 
> HADOOP-11804.14.patch, HADOOP-11804.2.patch, HADOOP-11804.3.patch, 
> HADOOP-11804.4.patch, HADOOP-11804.5.patch, HADOOP-11804.6.patch, 
> HADOOP-11804.7.patch, HADOOP-11804.8.patch, HADOOP-11804.9.patch, 
> hadoop-11804-client-test.tar.gz
>
>
> make a hadoop-client-api and hadoop-client-runtime that i.e. HBase can use to 
> talk with a Hadoop cluster without seeing any of the implementation 
> dependencies.
> see proposal on parent for details.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Comment Edited] (HADOOP-11804) POC Hadoop Client w/o transitive dependencies

2016-11-08 Thread Andrew Wang (JIRA)

[ 
https://issues.apache.org/jira/browse/HADOOP-11804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15648921#comment-15648921
 ] 

Andrew Wang edited comment on HADOOP-11804 at 11/8/16 10:00 PM:


Thanks for the rev Sean. I tried it with Avro and got NoClassDefFound for Log4J:

{noformat}
testSort(org.apache.avro.mapred.TestAvroTextSort)  Time elapsed: 0.051 sec  <<< 
ERROR!
java.lang.NoClassDefFoundError: org/apache/log4j/Level
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.apache.hadoop.mapred.JobConf.(JobConf.java:356)
at 
org.apache.avro.mapred.TestAvroTextSort.testSort(TestAvroTextSort.java:37)
{noformat}

I think this is expected based on the contents of the hadoop-client-runtime 
pom.xml, which marks log4j as optional. I manually added this dependency, and 
then hit this:

{noformat}
testReadAvro(org.apache.avro.hadoop.io.TestAvroSequenceFile)  Time elapsed: 
0.016 sec  <<< ERROR!
java.lang.NullPointerException: null
at 
org.apache.hadoop.io.serializer.SerializationFactory.(SerializationFactory.java:58)
at org.apache.hadoop.io.SequenceFile$Writer.init(SequenceFile.java:1248)
at 
org.apache.hadoop.io.SequenceFile$Writer.(SequenceFile.java:1207)
at 
org.apache.avro.hadoop.io.AvroSequenceFile$Writer.(AvroSequenceFile.java:532)
at 
org.apache.avro.hadoop.io.TestAvroSequenceFile.writeSequenceFile(TestAvroSequenceFile.java:200)
at 
org.apache.avro.hadoop.io.TestAvroSequenceFile.testReadAvro(TestAvroSequenceFile.java:53)
{noformat}

I decompiled the SerializationFactory class, and noticed that it messed with 
the config key. I think we need to add some kind of exclusion for 
CommonConfigurationKeysPublic.

{code}
// before
if (conf.get(CommonConfigurationKeys.IO_SERIALIZATIONS_KEY).equals("")) {
// decompiled
if (conf.get("org.apache.hadoop.shaded.io.serializations").equals("")) {
{code}

Here's my Avro diff for master (without the log4j addition) if you want to try 
this yourself:

https://gist.github.com/anonymous/c064c283348a2d1bbec00845678339f9


was (Author: andrew.wang):
Thanks for the rev Sean. I tried it with Avro and got NoClassDefFound for Log4J:

{noformat}
testSort(org.apache.avro.mapred.TestAvroTextSort)  Time elapsed: 0.051 sec  <<< 
ERROR!
java.lang.NoClassDefFoundError: org/apache/log4j/Level
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.apache.hadoop.mapred.JobConf.(JobConf.java:356)
at 
org.apache.avro.mapred.TestAvroTextSort.testSort(TestAvroTextSort.java:37)
{noformat}

I think this is expected based on the contents of the hadoop-client-runtime 
pom.xml, which marks log4j as optional. I manually added this dependency, and 
then hit this:

{noformat}
testReadAvro(org.apache.avro.hadoop.io.TestAvroSequenceFile)  Time elapsed: 
0.016 sec  <<< ERROR!
java.lang.NullPointerException: null
at 
org.apache.hadoop.io.serializer.SerializationFactory.(SerializationFactory.java:58)
at org.apache.hadoop.io.SequenceFile$Writer.init(SequenceFile.java:1248)
at 
org.apache.hadoop.io.SequenceFile$Writer.(SequenceFile.java:1207)
at 
org.apache.avro.hadoop.io.AvroSequenceFile$Writer.(AvroSequenceFile.java:532)
at 
org.apache.avro.hadoop.io.TestAvroSequenceFile.writeSequenceFile(TestAvroSequenceFile.java:200)
at 
org.apache.avro.hadoop.io.TestAvroSequenceFile.testReadAvro(TestAvroSequenceFile.java:53)
{noformat}

I decompiled the SerializationFactory class, and noticed that it messed with 
the config key. I think we need to add some kind of exclusion for 
CommonConfigurationKeysPublic.

{code}
// before
if (conf.get(CommonConfigurationKeys.IO_SERIALIZATIONS_KEY).equals("")) {
// decompiled
if (conf.get("org.apache.hadoop.shaded.io.serializations").equals("")) {
{noformat}

Here's my Avro diff for master (without the log4j addition) if you want to try 
this yourself:

https://gist.github.com/anonymous/c064c283348a2d1bbec00845678339f9

> POC Hadoop Client w/o transitive dependencies
> -
>
> Key: HADOOP-11804
> URL: https://issues.apache.org/jira/browse/HADOOP-11804
> Project: Hadoop Common
>  Issue Type: Sub-task
>  Components: build
>Reporter: Sean Busbey
>Assignee: Sean Busbey
> Attachments: HADOOP-11804.1.patch, HADOOP-11804.2.patch, 
> HADOOP-11804.3.patch,