mrunit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jakub (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MRUNIT-159) MRUnit not compiling with hadoop 0.23.3
Date Sat, 10 Nov 2012 16:51:11 GMT

    [ 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

Mime
View raw message