hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Colin Patrick McCabe (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-8104) Inconsistent Jackson versions
Date Fri, 24 Feb 2012 00:21:54 GMT

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

Colin Patrick McCabe commented on HADOOP-8104:
----------------------------------------------

Hi Alejandro,

I have confirmed that the patch you attached also solves the problem.  With it, I only get
jackson 1.8.8 .jar files in my install directory-- no 1.7.1 jars.

I guess the unanswered question is whether Jersey 1.8 can handle Jackson 1.8.8, which is not
what it was originally designed to work against.

It seems that we both proposed patches that solve the problem.  I don't have a strong preference
for which fix we take.  I do feel that we should add a unit test to keep this from happening
again.  It seems that serializing a map is sufficient to expose this particular version skew
problem.
                
> Inconsistent Jackson versions
> -----------------------------
>
>                 Key: HADOOP-8104
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8104
>             Project: Hadoop Common
>          Issue Type: Bug
>            Reporter: Colin Patrick McCabe
>            Assignee: Colin Patrick McCabe
>         Attachments: HADOOP-7470.patch, HADOOP-8104.patch, dependency-tree-old.txt
>
>
> This is a maven build issue.
> Jersey 1.8 is pulling in version 1.7.1 of Jackson.  Meanwhile, we are manually specifying
that we want version 1.8 of Jackson in the POM files.  This causes a conflict where Jackson
produces unexpected results when serializing Map objects.
> How to reproduce: try this code:
> {quote}
> ObjectMapper mapper = new ObjectMapper();
>  Map<String, Object> m = new HashMap<String, Object>();
> mapper.writeValue(new File("foo"), m);
> {quote}
> You will get an exception:
> {quote}
> Exception in thread "main" java.lang.NoSuchMethodError: org.codehaus.jackson.type.JavaType.isMapLikeType()Z
> at org.codehaus.jackson.map.ser.BasicSerializerFactory.buildContainerSerializer(BasicSerializerFactory.java:396)
> at org.codehaus.jackson.map.ser.BeanSerializerFactory.createSerializer(BeanSerializerFactory.java:267)
> {quote}
> Basically the inconsistent versions of various Jackson components are causing this NoSuchMethod
error.
> As far as I know, this only occurs when serializing maps-- that's why it hasn't been
found and fixed yet.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message