You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by Yovav Waichman <yw...@gmail.com> on 2017/05/09 09:15:42 UTC

ClassCastException when trying to run topology on a remote Nimbus server

Hi, 

I’m a developer using Storm in our production environment. 
When running my topology locally, everything works fine. 
However, when trying to run storm with my topology on a remote Nimbus server, I get the following exception:

Exception in thread "main" java.lang.ExceptionInInitializerError
	at backtype.storm.topology.TopologyBuilder.createTopology(TopologyBuilder.java:106)
	at com.jivesoftware.playbox.engine.Main.main(Main.java:77)
Caused by: java.lang.ClassCastException: org.apache.storm.serialization.GzipThriftSerializationDelegate cannot be cast to backtype.storm.serialization.SerializationDelegate
	at backtype.storm.utils.Utils.getSerializationDelegate(Utils.java:432)
	at backtype.storm.utils.Utils.<clinit>(Utils.java:72)
	... 2 more


My server has Strom version 1.1.0 installed and my topology is using storm-core 0.9.4 version. 
It seems that there’s a conflict between the versions, GzipThriftSerializationDelegate from package org.apache.storm.serialization is being cast to backtype.storm.serialization.SerializationDelegate instead of being cast to 
org.apache.storm.serialization.SerializationDelegate. 

I would appreciate your help on that, 

Thanks in advance,
Yovav

Re: ClassCastException when trying to run topology on a remote Nimbus server

Posted by Bobby Evans <ev...@yahoo-inc.com.INVALID>.
a 0.9.x or 0.10.x topology will not be compatible with a 1.x cluster.  We changed the package names from backtype to org.apache in between the two.  So even though the client can talk to the nimbus through thrift the topology will not run, with exceptions like you saw.  The best solution is to upgrade your topology to compile against 1.x and this will require a code change.


- Bobby

On Tuesday, May 9, 2017, 2:57:06 PM CDT, Stig Døssing <ge...@gmail.com> wrote:What happens if you upgrade your storm-core?

Also as far as I know there shouldn't be anything on the server using the
backtype.storm packages anymore. Please make sure you're not deploying the
storm-core jar to the server (set it to provided scope in Maven if you use
that). I'm not too familiar with running old storm-core jars with new
topologies, but are you setting the client.jartransformer.class as
mentioned in https://storm.apache.org/releases/1.1.0/index.html?

2017-05-09 11:15 GMT+02:00 Yovav Waichman <yw...@gmail.com>:

> Hi,
>
> I’m a developer using Storm in our production environment.
> When running my topology locally, everything works fine.
> However, when trying to run storm with my topology on a remote Nimbus
> server, I get the following exception:
>
> Exception in thread "main" java.lang.ExceptionInInitializerError
>        at backtype.storm.topology.TopologyBuilder.createTopology(
> TopologyBuilder.java:106)
>        at com.jivesoftware.playbox.engine.Main.main(Main.java:77)
> Caused by: java.lang.ClassCastException: org.apache.storm.serialization.
> GzipThriftSerializationDelegate cannot be cast to
> backtype.storm.serialization.SerializationDelegate
>        at backtype.storm.utils.Utils.getSerializationDelegate(
> Utils.java:432)
>        at backtype.storm.utils.Utils.<clinit>(Utils.java:72)
>        ... 2 more
>
>
> My server has Strom version 1.1.0 installed and my topology is using
> storm-core 0.9.4 version.
> It seems that there’s a conflict between the versions,
> GzipThriftSerializationDelegate from package
> org.apache.storm.serialization is being cast to
> backtype.storm.serialization.SerializationDelegate instead of being cast
> to
> org.apache.storm.serialization.SerializationDelegate.
>
> I would appreciate your help on that,
>
> Thanks in advance,
> Yovav

Re: ClassCastException when trying to run topology on a remote Nimbus server

Posted by Stig Døssing <ge...@gmail.com>.
What happens if you upgrade your storm-core?

Also as far as I know there shouldn't be anything on the server using the
backtype.storm packages anymore. Please make sure you're not deploying the
storm-core jar to the server (set it to provided scope in Maven if you use
that). I'm not too familiar with running old storm-core jars with new
topologies, but are you setting the client.jartransformer.class as
mentioned in https://storm.apache.org/releases/1.1.0/index.html?

2017-05-09 11:15 GMT+02:00 Yovav Waichman <yw...@gmail.com>:

> Hi,
>
> I’m a developer using Storm in our production environment.
> When running my topology locally, everything works fine.
> However, when trying to run storm with my topology on a remote Nimbus
> server, I get the following exception:
>
> Exception in thread "main" java.lang.ExceptionInInitializerError
>         at backtype.storm.topology.TopologyBuilder.createTopology(
> TopologyBuilder.java:106)
>         at com.jivesoftware.playbox.engine.Main.main(Main.java:77)
> Caused by: java.lang.ClassCastException: org.apache.storm.serialization.
> GzipThriftSerializationDelegate cannot be cast to
> backtype.storm.serialization.SerializationDelegate
>         at backtype.storm.utils.Utils.getSerializationDelegate(
> Utils.java:432)
>         at backtype.storm.utils.Utils.<clinit>(Utils.java:72)
>         ... 2 more
>
>
> My server has Strom version 1.1.0 installed and my topology is using
> storm-core 0.9.4 version.
> It seems that there’s a conflict between the versions,
> GzipThriftSerializationDelegate from package
> org.apache.storm.serialization is being cast to
> backtype.storm.serialization.SerializationDelegate instead of being cast
> to
> org.apache.storm.serialization.SerializationDelegate.
>
> I would appreciate your help on that,
>
> Thanks in advance,
> Yovav