Recently, we upgraded our storm version from 0.10 to 1.1.0 but while deploying topology with the upgraded client, it was failing with -
Exception in thread "main" java.lang.IllegalArgumentException
at org.apache.storm.hack.shade.org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.apache.storm.hack.shade.org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.apache.storm.hack.shade.org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.apache.storm.hack.DefaultShader.addRemappedClass(DefaultShader.java:182)
at org.apache.storm.hack.DefaultShader.shadeJarStream(DefaultShader.java:103)
at org.apache.storm.hack.StormShadeTransformer.transform(StormShadeTransformer.java:35)
at org.apache.storm.daemon.ClientJarTransformerRunner.main(ClientJarTransformerRunner.java:37)
Issue came out to be related to dependency conflicts between asm and guice over Java8
. Excluding all guice dependencies which were coming from a dependent jar but wasn't actually used in storm project helped resolve this issue.
To be on safer side, I also cross-checked in my project that I do not have any other asm
dependency except one coming from storm-core
.
I spent more than a day to come to this resolution, hope this could be of help to someone :)