Created 07-18-2016 10:09 AM
Hi, I'm using HDInsight Storm on Azure. It uses HDP version 2.4.2.x. I have written a topology and deployed on the cluster. Topology has thrown an error "java.lang.NoSuchMethodError: org.apache.commons.lang3.time.StopWatch.isStarted()Z". What I observered from the error is that , 'My topology uses commons-lang3-3.3.1 version, But storm has commons-lang3-3.1 in it's lib folder. So when I deploy the topology it has two StopWatch classes in classpath. I think this is the problem. But not so sure'. If this is the problem, I can upgrade commons-lang3 jar on Storm's lib folder. But I don't want to do that. Is there any other way to resolve this issue.
Created 07-18-2016 10:09 AM
@Sasikumar Natarajan its better to shade common-lang dependency in your topologoy jars instead of upgrading jar provided with storm distribution.
Created 07-18-2016 10:09 AM
@Sasikumar Natarajan its better to shade common-lang dependency in your topologoy jars instead of upgrading jar provided with storm distribution.
Created 07-18-2016 11:51 AM
@Rajkumar Singh I'm already using maven shade plugin. There is a way of relocating Classes using maven shade plugin (https://maven.apache.org/plugins/maven-shade-plugin/examples/class-relocation.html). But the problem is, StopWatch class is not being referred directly from my topology. I have used it in code which is being added as a dependency to my topology.