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

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

[~longtimer] I agree that we should have an error if jar is not found.  When 
you run {code}storm jar{code} it sets the classpath to be more or less the same 
as 

{code}
`storm classpath`:$JAR
{code}

so if you specified your class name properly java should blow up with a class 
not found exception. The only way I can think of to make it run an older 
version of your code it to explicitly point it to an older version of the code, 
but I could be wrong. Also when we run a  worker process the jar used is 
associated with the topology-id.  We cache it, but only for workers that are a 
part o the exact same topology instance.  Do you have a reproducible use case 
that we can use to debug this?

> storm jar executes non-existant or old jar files and classes
> ------------------------------------------------------------
>
>                 Key: STORM-467
>                 URL: https://issues.apache.org/jira/browse/STORM-467
>             Project: Apache Storm (Incubating)
>          Issue Type: Bug
>    Affects Versions: 0.9.2-incubating
>         Environment: debian linux wheezy and squeeze with java 1.7.0_67
>            Reporter: Jason Kania
>
> When issuing the storm jar command, the command will launch with some cached 
> version of the jar contents even if no jar file is now present at the 
> location specified on the command line. This should instead cause an error so 
> that a user is actually running what they think they are.
> The second part of this is that some part of storm is caching topology 
> classes so that when debugging errors, old code is executed instead of the 
> new version of a class. I would argue that storm should attempt to destroy 
> cached topology classes if presented with a new version or when an active 
> topology is terminated. Again this is to avoid running versions of code that 
> are not those which have been specified.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to