While writing the unit test cases for my
application I was getting the below mentioned exception during the execution of these test cases. Below is the complete exception trace :

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:59)
at org.apache.hadoop.mrunit.internal.mapreduce.MockMapContextWrapper.create(MockMapContextWrapper.java:77)
at org.apache.hadoop.mrunit.internal.mapreduce.MockMapContextWrapper.(MockMapContextWrapper.java:68)
at org.apache.hadoop.mrunit.mapreduce.MapDriver.getContextWrapper(MapDriver.java:167)
at org.apache.hadoop.mrunit.mapreduce.MapDriver.getContext(MapDriver.java:198)
at com.techidiocy.integratekeys.mapreduce.test.TestIntegrationKeysMapper.init(TestIntegrationKeysMapper.java:37)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:69)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:48)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.runners.ParentRunner.run(ParentRunner.java:292)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

Cloudera Kite Morphlines

In the last post we have seen the internals
of a configuration file also known as morphline. In this post we are going to
explore the actual code that does all the
job in the background. It doesn’t make a
difference whether you are using the in
built command (bundled with Cloudera Kite Morphlines SDK) or writing your own custom command , basic structure and semantics of all the commands are same.

Share and Enjoy

Version control is an important aspect of any application development, it allows you to access your code base from different machines ,allows you to make lot of mistakes and then correct them before delivering a final product ,allows you to track the progress of your project and much more. If you are reading this post I am assuming that you are having a project that you want to move on Github. Continue reading How to add existing projects to Github ?→

Share and Enjoy

In the last post we have seen the difference among all the available write concerns in MongoDB. We have also seen that which write concern to choose in which scenario that mostly depends on the type of data you are dealing with.

In this post we will see a performance comparison of all the write concerns , in this test i have inserted 100K records for each type of write concerns and captured the time taken for them.

Share and Enjoy

If you have missed my previous post on maven basic terminologies then you can read it here . In this post we will roam around Maven Central Repository, how they work , what are their significance in Maven, How you can customize Maven Repositories and lot of other things about maven repositories.

In this post we are going to see the definition and usage of some important terms in Apache Maven framework. Before going into the depth of maven it is very important to understand the essence of these terms. So , let’s begin

1. What is Maven : – There is a misconception among many people about What exactly Maven is ? and What it do ? . Some people say that , it is a build tool used to generate artifacts in the form of jar, war and ear file from your source code , other group of developers say that it is a Project Management Tool that has a Project Object Model (pom file) , a standard life cycle , executing different goals at different phase in the life cycle , do the dependency management etc . Actually both of them are correct , Maven is much more than a traditional build tool . How ?? We will see that in just a minute.