upgradeapache-storm

Storm topology deployment failing with IllegalArgumentException when storm client upgraded from 0.10 to 1.1.0


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)

Solution

  • 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 :)