You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by Simon Cooper <si...@featurespace.co.uk> on 2014/09/12 18:58:11 UTC

STORM-447 shading curator

Can I ask why it is necessary for curator & zookeeper will be shaded? This will cause problems for us, as we're using the Utils.newCurator* methods in our own code to get access to the same zookeeper used by storm, for our own configuration data.

If curator is shaded, when running locally this will return an instance of org.apache.curator.framework.CuratorFramework, when running on a cluster, it'll return an org.apache.storm.curator.framework.CuratorFramework, and I can't think of a workaround to allow the same java code to work with both packages, which means we won't be able to use these methods at all. Is it necessary for curator to be shaded?

Re: STORM-447 shading curator

Posted by Jon Logan <jm...@buffalo.edu>.
They are shaded to prevent version clashes. If you require these libraries
you should include them in your own JAR, and not piggy-back off of the
provided JAR. This allows you to use a different version of a dependency
than Storm relies on this. If you are using Maven, you should explicitly
list it as a dependency, and it'll get bundled in -- otherwise, it'll be
marked as "provided" and not bundled in.

ex. if you need Guava, yours would be at com/google/guava, and Storm's will
be at com/google/storm/guava -- or something similar. These can be the same
version if desired.

On Fri, Sep 12, 2014 at 12:58 PM, Simon Cooper <
simon.cooper@featurespace.co.uk> wrote:

> Can I ask why it is necessary for curator & zookeeper will be shaded? This
> will cause problems for us, as we're using the Utils.newCurator* methods in
> our own code to get access to the same zookeeper used by storm, for our own
> configuration data.
>
> If curator is shaded, when running locally this will return an instance of
> org.apache.curator.framework.CuratorFramework, when running on a cluster,
> it'll return an org.apache.storm.curator.framework.CuratorFramework, and I
> can't think of a workaround to allow the same java code to work with both
> packages, which means we won't be able to use these methods at all. Is it
> necessary for curator to be shaded?
>