[
https://issues.apache.org/jira/browse/MRUNIT-159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13494726#comment-13494726
]
Jakub commented on MRUNIT-159:
------------------------------
I've got workaround:
I completely removed content of TestDriver.initDistributedCache(),
and
Instead of using:
URI[] localURIs = context.getCacheFiles();
I do:
URI[] localURIs =
StringUtils.stringToURI(context.getConfiguration().getStrings(MRJobConfig.CACHE_FILES));
, and
when I initalize my cache witch :
mrd.withCacheFile(new URI("file:///path/to/dict.txt"));
I tried adding in
org.apache.hadoop.mrunit.internal.mapreduce.AbstractMockContextWrapper.createCommon
something like:
try{
when(context.getCacheFiles()).thenAnswer(new Answer<URI[]>() {
@Override
public URI[] answer(final InvocationOnMock invocation) throws
IOException {
return
DistributedCache.getCacheFiles(contextDriver.getConfiguration());
}
});
} catch (IOException e) {
throw new RuntimeException(e);
}
but it doesn't help
> MRUnit not compiling with hadoop 0.23.3
> ---------------------------------------
>
> Key: MRUNIT-159
> URL: https://issues.apache.org/jira/browse/MRUNIT-159
> Project: MRUnit
> Issue Type: Bug
> Affects Versions: 1.0.0
> Reporter: Jakub
> Priority: Critical
>
> I tried to write test using mrunit 1.0.0 ( i need to init cache, which is
> unavaliable in already relased versions)
> when I run my code I get:
> java.lang.IncompatibleClassChangeError: Found interface
> org.apache.hadoop.mapreduce.TaskInputOutputContext, but class was expected
> at
> org.apache.hadoop.mrunit.internal.mapreduce.AbstractMockContextWrapper.createCommon(AbstractMockContextWrapper.java:53)
> I read other issues like https://issues.apache.org/jira/browse/MRUNIT-56 and
> decided to recompile mrunit.
> I've downloaded source, and then:
> mvn install -DskipTests
> Build succes
> mvn install -DskipTests -Dhadoop.version=2
> Build success
> tried both output version with my code:
> mrunit-1.0.0-SNAPSHOT-hadoop1.jar
> mrunit-1.0.0-SNAPSHOT-hadoop2.jar
> but was still getting exception
> I've changed pom.xml specificHadoopVersion to:
> <specificHadoopVersion>0.23.3</specificHadoopVersion>
> and then:
> mvn clean
> mvn install -DskipTests -Dhadoop.version=2
> and there are compilation errors:
> [ERROR] COMPILATION ERROR :
> [INFO] -------------------------------------------------------------
> [ERROR]
> /home/kuba/studia/magisterka/mrunit/src/main/java/org/apache/hadoop/mrunit/TestDriver.java:[464,24]
> error: cannot find symbol
> [ERROR] class DistributedCache
> /home/kuba/studia/magisterka/mrunit/src/main/java/org/apache/hadoop/mrunit/TestDriver.java:[478,24]
> error: cannot find symbol
> [INFO] 2 errors
> that's because initDistributedCache method uses
> DistributedCache.addLocalFiles(), which is unavaliable in Hadoop 0.23.3
> I tried to fix it, but I'm new to hadoop ant havent succeed yet, any help,
> please?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira