hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zhijie Shen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-2092) Incompatible org.codehaus.jackson* dependencies when moving from 2.4.0 to 2.5.0-SNAPSHOT
Date Wed, 21 May 2014 22:37:38 GMT

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

Zhijie Shen commented on YARN-2092:
-----------------------------------

{code}
2014-05-19 20:09:07,933 FATAL [HistoryEventHandlingThread] org.apache.hadoop.yarn.YarnUncaughtExceptionHandler:
Thread Thread[HistoryEventHandlingThread,5,main] threw an Error. Shutting down now...
java.lang.NoSuchMethodError: org.codehaus.jackson.map.ObjectMapper.setSerializationInclusion(Lorg/codehaus/jackson/map/annotate/JsonSerialize$Inclusion;)Lorg/codehaus/jackson/map/ObjectMapper;
at org.apache.hadoop.yarn.webapp.YarnJacksonJaxbJsonProvider.locateMapper(YarnJacksonJaxbJsonProvider.java:54)
at org.codehaus.jackson.jaxrs.JacksonJsonProvider.writeTo(JacksonJsonProvider.java:488)
{code}

JacksonJsonProvider is in jackson-jaxrs while ObjectMapper is in jackson-mapper-asl. If I
understand correctly, it looks like the two libs' versions don't match.

Hadoop uses the following 4 jackson libs.
{code}
      <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.9.13</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-core-asl</artifactId>
        <version>1.9.13</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-jaxrs</artifactId>
        <version>1.9.13</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-xc</artifactId>
        <version>1.9.13</version>
      </dependency>
{code}

Given Tez includes all these 4 jars of 1.8.8 in its classpath, either putting it before or
after Hadoop classpath, there shouldn't be the mismatch. On the other side, if Tez includes
part of these 4 jars and puts the libs before hadoop libs, this problem will occur. Say:

{code}
cp=...:jackson-jaxrs-1.8.8.jar:jackson-xc-1.8.3.jar:jackson-jaxrs-1.9.13.jar:jackson-xc-1.9.13.jar:jackson-mapper-asl-1.9.13.jar:jackson-xc-1.9.13.jar:...
{code}

> Incompatible org.codehaus.jackson* dependencies when moving from 2.4.0 to 2.5.0-SNAPSHOT
> ----------------------------------------------------------------------------------------
>
>                 Key: YARN-2092
>                 URL: https://issues.apache.org/jira/browse/YARN-2092
>             Project: Hadoop YARN
>          Issue Type: Bug
>            Reporter: Hitesh Shah
>
> Came across this when trying to integrate with the timeline server. Using a 1.8.8 dependency
of jackson works fine against 2.4.0 but fails against 2.5.0-SNAPSHOT which needs 1.9.13. This
is in the scenario where the user jars are first in the classpath.  



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message