[ 
https://issues.apache.org/jira/browse/YARN-6414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15952196#comment-15952196
 ] 

Steve Loughran commented on YARN-6414:
--------------------------------------

* test wise, it shows that actually the JAR update process needs to have more 
rigorous testing: the patch should go in for all the subprojects so yetus tests 
them all. I'll keep an eye on future changes there
* circular dependencies are generally considered "bad form" and shouldn't have 
happened. More specifically, the use of the acronym "DAG" in the maven 
dependency graph declares that the graph is "acyclic". Pulling in hbase as a 
dependency of hadoop is trying to do what spark/hive have achieved: created a 
cycle. Is there anyway to unwind the cycle so that there is an ATSvb2 server 
module independent of the others, which pulls in both. That way, it can take in 
any shaded guava libs from Hadoop & whatever HBase needs, while also allowing 
Hadoop to make progress on the plan to drop jersey 1 and so avoid version 
issues there ( HADOOP-13332 )

BTW, Hadoop may export Guava 11 but it's coded to not use classes cut out of 
later versions (e.g. guava dropping stopwatch (HADOOP-11032). Even so, the need 
to up the base guava version is a serious need, not just for downestream 
projects, but even because things like Curator which we pull in depends on 
later versions. Every upgrade of curator has problems related to guava  
HADOOP-11102 , HADOOP-11612

Side issue: In an ideal world. Guava would be backwards compatible, It isn't , 
and we get to deal with the pain. Whatever we do, something breaks. Oh, and 
then there's protobuf.



> ATSv2 tests fail due to guava version upgrade
> ---------------------------------------------
>
>                 Key: YARN-6414
>                 URL: https://issues.apache.org/jira/browse/YARN-6414
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: timelineserver
>    Affects Versions: 3.0.0-alpha3
>         Environment: Ubuntu 14.04 
> x86, ppc64le
> $ java -version
> openjdk version "1.8.0_111"
> OpenJDK Runtime Environment (build 1.8.0_111-8u111-b14-3~14.04.1-b14)
> OpenJDK 64-Bit Server VM (build 25.111-b14, mixed mode)
>            Reporter: Sonia Garudi
>            Assignee: Haibo Chen
>              Labels: ppc64le, x86_64
>         Attachments: YARN-6414.00.patch, YARN-6414.01.patch
>
>
> Test failures seen in Hadoop YARN Timeline Service HBase tests project with 
> following error :
> {code}
> java.lang.NoClassDefFoundError: com/google/common/io/LimitInputStream
>         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.hdfs.server.namenode.FSImageFormat$LoaderDelegator.load(FSImageFormat.java:223)
>         at 
> org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:913)
>         at 
> org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:899)
>         at 
> org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImageFile(FSImage.java:722)
>         at 
> org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:660)
>         at 
> org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:279)
>         at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:955)
>         at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:700)
>         at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:529)
>         at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:585)
>         at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:751)
>         at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:735)
>         at 
> org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1407)
>         at 
> org.apache.hadoop.hdfs.MiniDFSCluster.createNameNode(MiniDFSCluster.java:998)
>         at 
> org.apache.hadoop.hdfs.MiniDFSCluster.createNameNodesAndSetConf(MiniDFSCluster.java:869)
>         at 
> org.apache.hadoop.hdfs.MiniDFSCluster.initMiniDFSCluster(MiniDFSCluster.java:704)
>         at 
> org.apache.hadoop.hdfs.MiniDFSCluster.<init>(MiniDFSCluster.java:642)
>         at 
> org.apache.hadoop.hbase.HBaseTestingUtility.startMiniDFSCluster(HBaseTestingUtility.java:590)
>         at 
> org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:987)
>         at 
> org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:868)
>         at 
> org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:862)
>         at 
> org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:806)
>         at 
> org.apache.hadoop.yarn.server.timelineservice.reader.TestTimelineReaderWebServicesHBaseStorage.setup(TestTimelineReaderWebServicesHBaseStorage.java:88)
> {code}
> Below are the failing tests :
> {code}
> TestTimelineReaderWebServicesHBaseStorage.setup:88 » NoClassDefFound 
> com/googl...
>   TestHBaseTimelineStorageEntities.setupBeforeClass:100 » NoClassDefFound 
> com/go...
>   TestHBaseStorageFlowActivity.setupBeforeClass:72 » NoClassDefFound 
> com/google/...
>   TestHBaseStorageFlowRunCompaction.setupBeforeClass:84 » NoClassDefFound 
> com/go...
>   TestHBaseStorageFlowRun.setupBeforeClass:86 » NoClassDefFound 
> com/google/commo...
>   TestHBaseTimelineStorageApps.setupBeforeClass:93 » NoClassDefFound 
> com/google/...
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to