[ 
https://issues.apache.org/jira/browse/STORM-1622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15193289#comment-15193289
 ] 

Robert Joseph Evans commented on STORM-1622:
--------------------------------------------

[~abhishek.agarwal],

Sorry I guess I was typing while you were typing.  As part of the 0.10 
transition for us, we told everyone that they had to recompile against the 
newer 0.10 version of storm, and gave out explicit instructions including the 
exact version of the storm dependencies that were in 0.9.x.  That way they 
could have a jar that would work on both 0.9.x and on 0.10.  Typically it 
involved asking them to run {{mvn dependency:tree}} and save it off to a file, 
then update the version of storm they were compiling against to be 0.10.x and 
rerun {{mvn dependency:tree}}.  We then had them compare the version of their 
dependencies and make them match the original one.

In this case it is different because they are trying to use a class that is 
intended to be private to storm.  I would ask them to first pick a version of 
guava that they want to depend on, because it is shaded in 0.9.6 they can pick 
just about any one that they want, add it to their pom.xml as a dependency 
(that is not provided), change their imports of the guava code to point to the 
proper location, and then recompile/package.  The new jar should work on 0.9.6 
and 0.10, and if you use the hack remapping it will work on 1.0 too.  If you 
want to try and port the hack back to 0.10 you can, but I really want it 
yelling at them if they use one of our shaded dependencies.

> Topology jars referring to shaded classes of older version of storm jar 
> cannot be run in Storm 1.0.0
> ----------------------------------------------------------------------------------------------------
>
>                 Key: STORM-1622
>                 URL: https://issues.apache.org/jira/browse/STORM-1622
>             Project: Apache Storm
>          Issue Type: Bug
>          Components: storm-core
>            Reporter: Abhishek Agarwal
>            Assignee: Abhishek Agarwal
>
> This commit 
> https://github.com/apache/storm/commit/12fdaa01b20eb144bf18a231a05c92873c90aa09
> changes the package names of shaded classes inside the storm.  These classes 
> are shipped inside the maven release of storm-core jar and can depended upon 
> the topology jar. Jar built with older version of storm-core and using this 
> dependency, wouldn't run on newer version of storm cluster. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to