Hey guys,

I've got a conflict between one of my transitive dependencies, and Storm
0.9.1. Basically, a Cassandra JPA library I'm using (Kundera) depends on
cglib 2.2.2 which requires asm 3.3.1. Unfortunately Storm has
org.ow2.asm:asm:4.0 on its classpath, which causes various runtime errors.

It seems that I have three options:

   1. Shade the ASM dependency (either on Storm or on Kundera) to resolve
   the conflict. Given the nature of the ASM plugin, though, and how reliant
   it is on reflection, I'm not 100% convinced this would work.
   2. Try to downgrade Storm's ASM dependency to 3.1.1, and fix whatever
   interface incompatibilities this causes in the code. I'm not sure if Storm
   relies on any 4.x-specific functionality though.
   3. Try to upgrade Kundera to ASM 4.0. Kundera's a pretty huge chunk of
   code that I don't normally look into at all, so that might not be easy
   either.

I don't like any of these three options (especially not 1 or 2 because that
would require me to redeploy "custom" builds of Storm to all my nodes).
Does anyone else have any suggestions on how to sidestep this problem, or
at the very least can reassure me that #1 or #2 are at least reasonably
possible?

Thanks!
-Adrian

Reply via email to