Memory in Jetty integration?

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Memory in Jetty integration?

Dain Sundstrom
I think we have a leak in our integration with jetty.  After looking  
at the code I don't think we are unregistering servlets or webapp  
contexts when they are stopped.  Here are the leaks I'm seeing

Class loader leak
----------------
org.apache.geronimo.kernel.config.ConfigurationClassLoader
parent of  org.apache.geronimo.jetty.JettyClassLoader
webClassLoader of  org.apache.geronimo.jetty.JettyWebAppContext
[21] of  java.lang.Object[88]
elementData of  java.util.ArrayList
_components of  org.apache.geronimo.jetty.JettyServer
_server of  org.mortbay.http.SslListener

Servlet leak
------------
a.b.MyServlet
_servlet of  org.apache.geronimo.jetty.JettyServletHolder
[2] of  java.lang.Object[10]
elementData of  java.util.ArrayList
_components of  org.mortbay.jetty.servlet.WebApplicationHandler
_handler of  org.mortbay.jetty.servlet.HashSessionManager
this$0 of  org.mortbay.jetty.servlet.AbstractSessionManager
$SessionScavenger

I'm going to try some more specific tests, but can someone that knows  
this code confirm if we are or are not unregistering servlets and  
contexts.

-dain
Reply | Threaded
Open this post in threaded view
|

Re: Memory in Jetty integration?

djencks-2
We may not be unregistering some jetty components in the way we are
supposed to... investigation == good.

Earlier today I noticed a leak in unregistering ejb web services, which
should now be fixed.

thanks
david jencks

On Jun 9, 2005, at 3:44 PM, Dain Sundstrom wrote:

> I think we have a leak in our integration with jetty.  After looking
> at the code I don't think we are unregistering servlets or webapp
> contexts when they are stopped.  Here are the leaks I'm seeing
>
> Class loader leak
> ----------------
> org.apache.geronimo.kernel.config.ConfigurationClassLoader
> parent of  org.apache.geronimo.jetty.JettyClassLoader
> webClassLoader of  org.apache.geronimo.jetty.JettyWebAppContext
> [21] of  java.lang.Object[88]
> elementData of  java.util.ArrayList
> _components of  org.apache.geronimo.jetty.JettyServer
> _server of  org.mortbay.http.SslListener
>
> Servlet leak
> ------------
> a.b.MyServlet
> _servlet of  org.apache.geronimo.jetty.JettyServletHolder
> [2] of  java.lang.Object[10]
> elementData of  java.util.ArrayList
> _components of  org.mortbay.jetty.servlet.WebApplicationHandler
> _handler of  org.mortbay.jetty.servlet.HashSessionManager
> this$0 of  
> org.mortbay.jetty.servlet.AbstractSessionManager$SessionScavenger
>
> I'm going to try some more specific tests, but can someone that knows
> this code confirm if we are or are not unregistering servlets and
> contexts.
>
> -dain
>

Reply | Threaded
Open this post in threaded view
|

Re: Memory in Jetty integration?

Dain Sundstrom
I just ran the servlet tests and then profiled the server after  
everything undeployed, and we have a huge leak here.

Do you want me to take a crack at getting the servlets and web  
contexts to unregister on shutdown?

-dain

On Jun 9, 2005, at 5:22 PM, David Jencks wrote:

> We may not be unregistering some jetty components in the way we are  
> supposed to... investigation == good.
>
> Earlier today I noticed a leak in unregistering ejb web services,  
> which should now be fixed.
>
> thanks
> david jencks
>
> On Jun 9, 2005, at 3:44 PM, Dain Sundstrom wrote:
>
>
>> I think we have a leak in our integration with jetty.  After  
>> looking at the code I don't think we are unregistering servlets or  
>> webapp contexts when they are stopped.  Here are the leaks I'm seeing
>>
>> Class loader leak
>> ----------------
>> org.apache.geronimo.kernel.config.ConfigurationClassLoader
>> parent of  org.apache.geronimo.jetty.JettyClassLoader
>> webClassLoader of  org.apache.geronimo.jetty.JettyWebAppContext
>> [21] of  java.lang.Object[88]
>> elementData of  java.util.ArrayList
>> _components of  org.apache.geronimo.jetty.JettyServer
>> _server of  org.mortbay.http.SslListener
>>
>> Servlet leak
>> ------------
>> a.b.MyServlet
>> _servlet of  org.apache.geronimo.jetty.JettyServletHolder
>> [2] of  java.lang.Object[10]
>> elementData of  java.util.ArrayList
>> _components of  org.mortbay.jetty.servlet.WebApplicationHandler
>> _handler of  org.mortbay.jetty.servlet.HashSessionManager
>> this$0 of  org.mortbay.jetty.servlet.AbstractSessionManager
>> $SessionScavenger
>>
>> I'm going to try some more specific tests, but can someone that  
>> knows this code confirm if we are or are not unregistering  
>> servlets and contexts.
>>
>> -dain
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: Memory in Jetty integration?

David Jencks

On Jun 9, 2005, at 9:10 PM, Dain Sundstrom wrote:

> I just ran the servlet tests and then profiled the server after
> everything undeployed, and we have a huge leak here.
>
> Do you want me to take a crack at getting the servlets and web
> contexts to unregister on shutdown?

Sure, I won't have time for a while.  I'd expect the web app context
would be the critical one.

david jencks

>
> -dain
>
> On Jun 9, 2005, at 5:22 PM, David Jencks wrote:
>
>> We may not be unregistering some jetty components in the way we are
>> supposed to... investigation == good.
>>
>> Earlier today I noticed a leak in unregistering ejb web services,
>> which should now be fixed.
>>
>> thanks
>> david jencks
>>
>> On Jun 9, 2005, at 3:44 PM, Dain Sundstrom wrote:
>>
>>
>>> I think we have a leak in our integration with jetty.  After looking
>>> at the code I don't think we are unregistering servlets or webapp
>>> contexts when they are stopped.  Here are the leaks I'm seeing
>>>
>>> Class loader leak
>>> ----------------
>>> org.apache.geronimo.kernel.config.ConfigurationClassLoader
>>> parent of  org.apache.geronimo.jetty.JettyClassLoader
>>> webClassLoader of  org.apache.geronimo.jetty.JettyWebAppContext
>>> [21] of  java.lang.Object[88]
>>> elementData of  java.util.ArrayList
>>> _components of  org.apache.geronimo.jetty.JettyServer
>>> _server of  org.mortbay.http.SslListener
>>>
>>> Servlet leak
>>> ------------
>>> a.b.MyServlet
>>> _servlet of  org.apache.geronimo.jetty.JettyServletHolder
>>> [2] of  java.lang.Object[10]
>>> elementData of  java.util.ArrayList
>>> _components of  org.mortbay.jetty.servlet.WebApplicationHandler
>>> _handler of  org.mortbay.jetty.servlet.HashSessionManager
>>> this$0 of  
>>> org.mortbay.jetty.servlet.AbstractSessionManager$SessionScavenger
>>>
>>> I'm going to try some more specific tests, but can someone that
>>> knows this code confirm if we are or are not unregistering servlets
>>> and contexts.
>>>
>>> -dain
>>>
>>
>