crunch-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gabriel Reid (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CRUNCH-295) java.lang.IncompatibleClassChangeError: Found class org.apache.hadoop.mapreduce.TaskInputOutputContext, but interface was expected in crunch 0.8.0
Date Sat, 16 Nov 2013 06:25:22 GMT

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

Gabriel Reid commented on CRUNCH-295:
-------------------------------------

I took a look at the release artifacts in a bit more detail. FWIW, it appears that the binary
artifacts at https://dist.apache.org/repos/dist/release/crunch/crunch-0.8.0/ are all correct,
and match up with what was included in the original release candidate. In other words, this
issue is limited to what's been published in Nexus.

As far as I understand, we're all good in terms of this being a "correct" release seeing as
the officially released artifacts are all good -- however, that probably doesn't matter much
seeing as maven is probably by far the most-used way of integrating Crunch.

I'm guessing the only realistic option to correct this is to release a 0.8.1, which would
be identical to 0.8.0 but with the correct artifacts published to Nexus -- or are there any
other options without doing a full new release?

> java.lang.IncompatibleClassChangeError: Found class org.apache.hadoop.mapreduce.TaskInputOutputContext,
but interface was expected in crunch 0.8.0
> --------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CRUNCH-295
>                 URL: https://issues.apache.org/jira/browse/CRUNCH-295
>             Project: Crunch
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.8.0
>            Reporter: Stefan De Smit
>            Assignee: Josh Wills
>
> Crunch 0.8.0 does not work for me, while crunch 0.7.0 did.
> To be more precise: when I compile crunch 0.8.0 from the git tag, it does work, but the
jars downloaded from Maven Central don't.
> I compared both jars (mine vs downloaded) and they are indeed different.
> you can see (for instance in CrunchTaskContext):
> invokevirtual	#4; //Method org/apache/hadoop/mapreduce...
> vs
> invokeinterface	#4,  1; //InterfaceMethod org/apache/hadoop/mapreduce...
> Which means that crunch 0.8.0 is compiled with an interface iso an abstract class.
> the hadoop-1 profile shows a dependency to hadoop 1.1.2 which contains a class iso an
interface.
> What we think happened is this:
> 1) compile crunch with hadoop-2 profile:
> 2) on same machine also compile crunch with hadoop-1 profile, but without clean option.
> because of the missing clean, maven won't recompile unchanged classes. which would explain
how you end up with crunch 0.8.0 being compiled against hadoop-2 instead of hadoop-1



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message