axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Talbott, Thomas" <Thomas.Talb...@serialssolutions.com>
Subject Re: Hot update: Too Many Open Files
Date Sat, 30 Aug 2008 01:04:25 GMT
Hello Steve,

We are not running under VMWare.  I would say that our situation is similar,
but not the same.  In your previous messages you say:

³A new set gets generated each time I restart Tomcat. On my Windows XP
system, these are deleted each time Tomcat stops, but not on our Linux
(CentOS) systems.²

In our case, we are trying to deploy without restarting Tomcat.  We have the
following set in axis2.xml:

   <parameter name="hotdeployment">true</parameter>
   <parameter name="hotupdate">true</parameter>

When we copy the updated aar file into the WEB-INF/services directory of the
axis2 webapp, temporary files are created in the work directory.  The next
time we update aar file, more files are created in the work directory.  When
I shutdown tomcat, the files ARE cleaned up.  But, if I don't shutdown
tomcat, file handles are left open for every one of these temporary files!
So, soon, we run out of file handles.

As I mentioned in my original message, we want to do this for staging and we
are not looking for this to be a production solution.  As far as I can tell,
we should be able to shutdown tomcat, deploy the aar, and restart tomcat in
production without the problems you are seeing.  We may just need to resort
to the same solution in production.

It would seem, given our joint experience, that there is an issue with the
the temporary files used for deployment and update.  Given what Deepal says:

"Yes , Axis2 creates temp files from your services and modules , and
create a class loader from that. In that way we can ensure better
performance. This help us a lot when we have service aar or mar with
third party library inside it."

It would appear that there is an issue with the class loader that is
created.  In the "update" scenario, I wonder if the class loaders are
leaking (old class loaders not going away) after a service is updated.
Current evidence for this is that my files do eventually get cleaned up and
I assume that the class loader is doing this once it finally goes away.
But, there may be some management process that is responsible for this.  I
have not looked into the code.

Anyone with insight into this?

Thanks,
-Tom

On 8/29/08 2:22 PM, "SGruverman@intellicare.com"
<SGruverman@intellicare.com> wrote:

> Thomas,
>
> This is very similar to two threads I started, one in May ("cached archive
> files not deleted") and one in July ("Axis2 work files not deleted").
>
> I did not here reports from anyone else experiencing this. Particularly
> interesting because our environment is similar:
> Tomcat 5.5.17
> CentOS 4.3
> Axis2 1.3
>
> Are you by any chance running your OS under VMWare??
>
> Anyway, the solution (or workaround) is to deploy your web services and
> modules as an exploded directory structure rather than an AAR or MAR
> archive. One of the posts in the second thread has more details.
>
> - Steve
>
> ______________________________________________
> Steve Gruverman, Programmer
> IntelliCare, Inc. | A Medco Health Solutions Company
>
> 500 Southborough Drive | South Portland ME 04106
>
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Mime
View raw message