You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@storm.apache.org by Jason Kania <ja...@ymail.com> on 2014/08/25 17:56:23 UTC

Preventing storm from caching classes

Hello,

I would like to know if anybody knows how to prevent Storm from caching a previous version of the classes making up a topology. I am hitting problems where Storm is running old versions of my classes instead of the ones in the currently supplied jar file. I am having to include version numbers in the names of my classes to get the desired code to run.

Thanks,

Jason

Re: Preventing storm from caching classes

Posted by "Bruno D. Rodrigues" <br...@litux.org>.
Any chance your classes are singletons or static classes and the JVM is keeping them around instead of loading the new ones?

> No dia 25/08/2014, às 19:14, Jason Kania <ja...@ymail.com> escreveu:
> 
> Tom,
> 
> All the classes are in a single jar and I know the build system is including the newest versions only. I can see this because I have had to keep renaming the classes each time I upload and the only things I see in the jar are my latest classes. Unfortunately, it is old classes that are not in the jar that storm would attempt to run without the renaming. I am running with the 1.7  update 67 jdk.
> 
> Thanks,
> 
> Jason
> 
> From: Tom Brown <to...@gmail.com>
> To: "user@storm.incubator.apache.org" <us...@storm.incubator.apache.org> 
> Sent: Monday, August 25, 2014 12:27:03 PM
> Subject: Re: Preventing storm from caching classes
> 
> That sounds like a very odd issue, as each storm worker runs within an independent JVM. Are you putting all your classes in a single jar file (that you upload to storm)? Is there any chance your build system is not including the newest versions? Can you open the jar file and verify that the correct versions are there?
> 
> --Tom
> 
> 
> 
> 
> On Mon, Aug 25, 2014 at 10:02 AM, Vikas Agarwal <vikas@infoobjects.com <ma...@infoobjects.com>> wrote:
> Are you killing the topology before uploading new one?
> 
> 
> On Mon, Aug 25, 2014 at 9:26 PM, Jason Kania <jason.kania@ymail.com <ma...@ymail.com>> wrote:
> Hello,
> 
> I would like to know if anybody knows how to prevent Storm from caching a previous version of the classes making up a topology. I am hitting problems where Storm is running old versions of my classes instead of the ones in the currently supplied jar file. I am having to include version numbers in the names of my classes to get the desired code to run.
> 
> Thanks,
> 
> Jason
> 
> 
> 
> -- 
> Regards,
> Vikas Agarwal
> 91 – 9928301411
> 
> InfoObjects, Inc. 
> Execution Matters
> http://www.infoobjects.com <http://www.infoobjects.com/> 
> 2041 Mission College Boulevard, #280 
> Santa Clara, CA 95054
> +1 (408) 988-2000 <applewebdata://87DA7DED-385F-49ED-B6AA-A6F5568C329B> Work
> +1 (408) 716-2726 <applewebdata://87DA7DED-385F-49ED-B6AA-A6F5568C329B> Fax
> 
> 
> 


Re: Preventing storm from caching classes

Posted by Jason Kania <ja...@ymail.com>.
Tom,

All the classes are in a single jar and I know the build system is including the newest versions only. I can see this because I have had to keep renaming the classes each time I upload and the only things I see in the jar are my latest classes. Unfortunately, it is old classes that are not in the jar that storm would attempt to run without the renaming. I am running with the 1.7  update 67 jdk.

Thanks,


Jason



________________________________
 From: Tom Brown <to...@gmail.com>
To: "user@storm.incubator.apache.org" <us...@storm.incubator.apache.org> 
Sent: Monday, August 25, 2014 12:27:03 PM
Subject: Re: Preventing storm from caching classes
 


That sounds like a very odd issue, as each storm worker runs within an independent JVM. Are you putting all your classes in a single jar file (that you upload to storm)? Is there any chance your build system is not including the newest versions? Can you open the jar file and verify that the correct versions are there?

--Tom





On Mon, Aug 25, 2014 at 10:02 AM, Vikas Agarwal <vi...@infoobjects.com> wrote:

Are you killing the topology before uploading new one?
>
>
>
>On Mon, Aug 25, 2014 at 9:26 PM, Jason Kania <ja...@ymail.com> wrote:
>
>Hello,
>>
>>
>>I would like to know if anybody knows how to prevent Storm from caching a previous version of the classes making up a topology. I am hitting problems where Storm is running old versions of my classes instead of the ones in the currently supplied jar file. I am having to include version numbers in the names of my classes to get the desired code to run.
>>
>>
>>Thanks,
>>
>>
>>Jason
>
>
>
>-- 
>Regards,
>Vikas Agarwal
>91 – 9928301411
>
>InfoObjects, Inc. 
>Execution Matters
>http://www.infoobjects.com 
>2041 Mission College Boulevard, #280 
>Santa Clara, CA 95054
>+1 (408) 988-2000 Work
>+1 (408) 716-2726 Fax

Re: Preventing storm from caching classes

Posted by Tom Brown <to...@gmail.com>.
That sounds like a very odd issue, as each storm worker runs within an
independent JVM. Are you putting all your classes in a single jar file
(that you upload to storm)? Is there any chance your build system is not
including the newest versions? Can you open the jar file and verify that
the correct versions are there?

--Tom


On Mon, Aug 25, 2014 at 10:02 AM, Vikas Agarwal <vi...@infoobjects.com>
wrote:

> Are you killing the topology before uploading new one?
>
>
> On Mon, Aug 25, 2014 at 9:26 PM, Jason Kania <ja...@ymail.com>
> wrote:
>
>> Hello,
>>
>> I would like to know if anybody knows how to prevent Storm from caching a
>> previous version of the classes making up a topology. I am hitting problems
>> where Storm is running old versions of my classes instead of the ones in
>> the currently supplied jar file. I am having to include version numbers in
>> the names of my classes to get the desired code to run.
>>
>> Thanks,
>>
>> Jason
>>
>
>
>
> --
> Regards,
> Vikas Agarwal
> 91 – 9928301411
>
> InfoObjects, Inc.
> Execution Matters
> http://www.infoobjects.com
> 2041 Mission College Boulevard, #280
> Santa Clara, CA 95054
> +1 (408) 988-2000 Work
> +1 (408) 716-2726 Fax
>
>

Re: Preventing storm from caching classes

Posted by Vikas Agarwal <vi...@infoobjects.com>.
If you are running topology with debug true, I guess there would be the
command used to launch the workers in supervisor.log. Check it, it may
contain the clue to the wrong classpath. You can try running the that
command directly from console to further debug the issue.


On Tue, Aug 26, 2014 at 9:00 AM, Jason Kania <ja...@ymail.com> wrote:

> Thanks for the response.
>
> I checked and didn't see any errors in the nimbus log. It is hard to tell
> exactly, but it seems that the classes being used vary over time and are
> one or more versions behind the current ones. To me it makes sense that it
> is something sneaking into the classpath, but as of yet, I do not know how.
>
>   ------------------------------
>  *From:* Vikas Agarwal <vi...@infoobjects.com>
> *To:* user@storm.incubator.apache.org; Jason Kania <ja...@ymail.com>
>
> *Sent:* Monday, August 25, 2014 10:57:19 PM
>
> *Subject:* Re: Preventing storm from caching classes
>
> You can check if kill operation is dumping any error in nimbus.log. It
> might be the case that it is unable to delete the jar somehow. Further, are
> you always seeing the immediate previous version of your classes on
> deployment of new one OR it is quite old version of the same? In later
> case, it might be due to some previous jar being present in storm lib or
> somewhere else from where it is coming into the classpath.
>
>
>
>
> On Mon, Aug 25, 2014 at 11:45 PM, Jason Kania <ja...@ymail.com>
> wrote:
>
> I am killing the topology. I can even kill storm and the result remains
> the same once storm is relaunched.
>
> Jason
>
>   ------------------------------
>  *From:* Vikas Agarwal <vi...@infoobjects.com>
> *To:* user@storm.incubator.apache.org; Jason Kania <ja...@ymail.com>
>
> *Sent:* Monday, August 25, 2014 12:02:25 PM
>
> *Subject:* Re: Preventing storm from caching classes
>
> Are you killing the topology before uploading new one?
>
>
>
>
> On Mon, Aug 25, 2014 at 9:26 PM, Jason Kania <ja...@ymail.com>
> wrote:
>
> Hello,
>
> I would like to know if anybody knows how to prevent Storm from caching a
> previous version of the classes making up a topology. I am hitting problems
> where Storm is running old versions of my classes instead of the ones in
> the currently supplied jar file. I am having to include version numbers in
> the names of my classes to get the desired code to run.
>
> Thanks,
>
> Jason
>
>
>
>
> --
> Regards,
> Vikas Agarwal
> 91 – 9928301411
>
> InfoObjects, Inc.
> Execution Matters
> http://www.infoobjects.com
> 2041 Mission College Boulevard, #280
> Santa Clara, CA 95054
> +1 (408) 988-2000 Work
> +1 (408) 716-2726 Fax
>
>
>
>
>
> --
> Regards,
> Vikas Agarwal
> 91 – 9928301411
>
> InfoObjects, Inc.
> Execution Matters
> http://www.infoobjects.com
> 2041 Mission College Boulevard, #280
> Santa Clara, CA 95054
> +1 (408) 988-2000 Work
> +1 (408) 716-2726 Fax
>
>
>


-- 
Regards,
Vikas Agarwal
91 – 9928301411

InfoObjects, Inc.
Execution Matters
http://www.infoobjects.com
2041 Mission College Boulevard, #280
Santa Clara, CA 95054
+1 (408) 988-2000 Work
+1 (408) 716-2726 Fax

Re: Preventing storm from caching classes

Posted by Jason Kania <ja...@ymail.com>.
Thanks for the response.


I checked and didn't see any errors in the nimbus log. It is hard to tell exactly, but it seems that the classes being used vary over time and are one or more versions behind the current ones. To me it makes sense that it is something sneaking into the classpath, but as of yet, I do not know how.



________________________________
 From: Vikas Agarwal <vi...@infoobjects.com>
To: user@storm.incubator.apache.org; Jason Kania <ja...@ymail.com> 
Sent: Monday, August 25, 2014 10:57:19 PM
Subject: Re: Preventing storm from caching classes
 


You can check if kill operation is dumping any error in nimbus.log. It might be the case that it is unable to delete the jar somehow. Further, are you always seeing the immediate previous version of your classes on deployment of new one OR it is quite old version of the same? In later case, it might be due to some previous jar being present in storm lib or somewhere else from where it is coming into the classpath.





On Mon, Aug 25, 2014 at 11:45 PM, Jason Kania <ja...@ymail.com> wrote:

I am killing the topology. I can even kill storm and the result remains the same once storm is relaunched.
>
>
>
>Jason
>
>
>
>
>________________________________
> From: Vikas Agarwal <vi...@infoobjects.com>
>To: user@storm.incubator.apache.org; Jason Kania <ja...@ymail.com> 
>Sent: Monday, August 25, 2014 12:02:25 PM
>
>Subject: Re: Preventing storm from caching classes
>
>
>
>Are you killing the topology before uploading new one?
>
>
>
>
>
>
>On Mon, Aug 25, 2014 at 9:26 PM, Jason Kania <ja...@ymail.com> wrote:
>
>Hello,
>>
>>
>>I would like to know if anybody knows how to prevent Storm from caching a previous version of the classes making up a topology. I am hitting problems where Storm is running old versions of my classes instead of the ones in the currently supplied jar file. I am having to include version numbers in the names of my classes to get the desired code to run.
>>
>>
>>Thanks,
>>
>>
>>Jason
>
>
>
>-- 
>Regards,
>Vikas Agarwal
>91 – 9928301411
>
>InfoObjects, Inc. 
>Execution Matters
>http://www.infoobjects.com 
>2041 Mission College Boulevard, #280 
>Santa Clara, CA 95054
>+1 (408) 988-2000 Work
>+1 (408) 716-2726 Fax 
>
>


-- 
Regards,
Vikas Agarwal
91 – 9928301411

InfoObjects, Inc. 
Execution Matters
http://www.infoobjects.com 
2041 Mission College Boulevard, #280 
Santa Clara, CA 95054
+1 (408) 988-2000 Work
+1 (408) 716-2726 Fax 

Re: Preventing storm from caching classes

Posted by Vikas Agarwal <vi...@infoobjects.com>.
You can check if kill operation is dumping any error in nimbus.log. It
might be the case that it is unable to delete the jar somehow. Further, are
you always seeing the immediate previous version of your classes on
deployment of new one OR it is quite old version of the same? In later
case, it might be due to some previous jar being present in storm lib or
somewhere else from where it is coming into the classpath.


On Mon, Aug 25, 2014 at 11:45 PM, Jason Kania <ja...@ymail.com> wrote:

> I am killing the topology. I can even kill storm and the result remains
> the same once storm is relaunched.
>
> Jason
>
>   ------------------------------
>  *From:* Vikas Agarwal <vi...@infoobjects.com>
> *To:* user@storm.incubator.apache.org; Jason Kania <ja...@ymail.com>
>
> *Sent:* Monday, August 25, 2014 12:02:25 PM
>
> *Subject:* Re: Preventing storm from caching classes
>
> Are you killing the topology before uploading new one?
>
>
>
>
> On Mon, Aug 25, 2014 at 9:26 PM, Jason Kania <ja...@ymail.com>
> wrote:
>
> Hello,
>
> I would like to know if anybody knows how to prevent Storm from caching a
> previous version of the classes making up a topology. I am hitting problems
> where Storm is running old versions of my classes instead of the ones in
> the currently supplied jar file. I am having to include version numbers in
> the names of my classes to get the desired code to run.
>
> Thanks,
>
> Jason
>
>
>
>
> --
> Regards,
> Vikas Agarwal
> 91 – 9928301411
>
> InfoObjects, Inc.
> Execution Matters
> http://www.infoobjects.com
> 2041 Mission College Boulevard, #280
> Santa Clara, CA 95054
> +1 (408) 988-2000 Work
> +1 (408) 716-2726 Fax
>
>
>


-- 
Regards,
Vikas Agarwal
91 – 9928301411

InfoObjects, Inc.
Execution Matters
http://www.infoobjects.com
2041 Mission College Boulevard, #280
Santa Clara, CA 95054
+1 (408) 988-2000 Work
+1 (408) 716-2726 Fax

Re: Preventing storm from caching classes

Posted by Jason Kania <ja...@ymail.com>.
I am killing the topology. I can even kill storm and the result remains the same once storm is relaunched.


Jason



________________________________
 From: Vikas Agarwal <vi...@infoobjects.com>
To: user@storm.incubator.apache.org; Jason Kania <ja...@ymail.com> 
Sent: Monday, August 25, 2014 12:02:25 PM
Subject: Re: Preventing storm from caching classes
 


Are you killing the topology before uploading new one?





On Mon, Aug 25, 2014 at 9:26 PM, Jason Kania <ja...@ymail.com> wrote:

Hello,
>
>
>I would like to know if anybody knows how to prevent Storm from caching a previous version of the classes making up a topology. I am hitting problems where Storm is running old versions of my classes instead of the ones in the currently supplied jar file. I am having to include version numbers in the names of my classes to get the desired code to run.
>
>
>Thanks,
>
>
>Jason


-- 
Regards,
Vikas Agarwal
91 – 9928301411

InfoObjects, Inc. 
Execution Matters
http://www.infoobjects.com 
2041 Mission College Boulevard, #280 
Santa Clara, CA 95054
+1 (408) 988-2000 Work
+1 (408) 716-2726 Fax 

Re: Preventing storm from caching classes

Posted by Vikas Agarwal <vi...@infoobjects.com>.
Are you killing the topology before uploading new one?


On Mon, Aug 25, 2014 at 9:26 PM, Jason Kania <ja...@ymail.com> wrote:

> Hello,
>
> I would like to know if anybody knows how to prevent Storm from caching a
> previous version of the classes making up a topology. I am hitting problems
> where Storm is running old versions of my classes instead of the ones in
> the currently supplied jar file. I am having to include version numbers in
> the names of my classes to get the desired code to run.
>
> Thanks,
>
> Jason
>



-- 
Regards,
Vikas Agarwal
91 – 9928301411

InfoObjects, Inc.
Execution Matters
http://www.infoobjects.com
2041 Mission College Boulevard, #280
Santa Clara, CA 95054
+1 (408) 988-2000 Work
+1 (408) 716-2726 Fax