Our Community is getting an upgrade! To get everything ready for the relaunch, we’ll be placing the site in read-only mode starting September 21st.
We really appreciate your understanding while we get things set up behind the scenes. Catch up on all the exciting details about the move here.
Need help or have questions? Drop us a line at [email protected]
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.