Can anyone help with this?

I tried relocating classes too during shading as:
        <relocations>
          <relocation>
            <pattern>backtype.storm</pattern>
            <shadedPattern>org.apache.storm</shadedPattern>
          </relocation>
          <relocation>
            <pattern>storm.trident</pattern>
            <shadedPattern>org.apache.storm.trident</shadedPattern>
          </relocation>
          <relocation>
            <pattern>org.apache.thrift7</pattern>
            <shadedPattern>org.apache.storm.thrift</shadedPattern>
          </relocation>
        </relocations>

But then the deployed topology began to complain about:
java.lang.NoSuchMethodError:
org.apache.storm.spout.MultiScheme.deserialize([B)Ljava/lang/Iterable; at
storm.kafka.KafkaUtils.generateTuples(KafkaUtils.java:206)

So it seems that I really need to get the 1.0.2 storm-kafka into my project
to make it work.

I even tried to exclude storm-kafka everywhere from all the dependencies my
project had and then including it as an explicit dependency, but it still
did not work.

mvn dependency:tree shows that storm-kafka is nowhere being included as a
transitive dependency in my project.

What to do now?

Thx,
SG

On Mon, Sep 12, 2016 at 12:24 PM, S G <[email protected]> wrote:

> Hi,
>
> We are upgrading to Storm 1.0.2 and have done all the package name changes.
>
> grep -ri backtype in our code repo returns nothing.
>
> Yet on deploying the jar to Storm, following error is seen:
>
>
> storm/storm_installed/apache-storm-1.0.2/bin/storm \
>  jar \
> $jarFile \
> org.apache.storm.flux.Flux \
> $yamlFileTarget \
> --remote
>
>
>
> +-         Apache Storm        -+
> +-  data FLow User eXperience  -+
> Version: 1.0.2
> Parsing file: topology-config.yaml
> 333  [main] INFO  o.a.s.f.p.FluxParser - loading YAML from input stream...
> 335  [main] INFO  o.a.s.f.p.FluxParser - Not performing property
> substitution.
> 335  [main] INFO  o.a.s.f.p.FluxParser - Not performing environment
> variable substitution.
> Exception in thread "main" java.lang.NoClassDefFoundError:
> backtype/storm/spout/MultiScheme
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:264)
> at org.apache.storm.flux.FluxBuilder.buildObject(FluxBuilder.java:291)
> at org.apache.storm.flux.FluxBuilder.buildComponents(FluxBuilder.java:350)
> at org.apache.storm.flux.FluxBuilder.buildTopology(FluxBuilder.java:75)
> at org.apache.storm.flux.Flux.runCli(Flux.java:153)
> at org.apache.storm.flux.Flux.main(Flux.java:98)
> Caused by: java.lang.ClassNotFoundException: backtype.storm.spout.
> MultiScheme
> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> ... 7 more
>
>
>
> This used to work fine with 0.10.0
>
> I have checked all the places in my code including mvn dependency:tree's
> output
> All versions are 1.0.2 (storm and flux) and there is no mention of
> backtype anywhere in the code, flux-file or the jar we are deploying.
>
> What is wrong here?
>
> Thanks
> SG
>

Reply via email to