[ 
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

Reply via email to