[
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)