Re: Creation of new threads after closing response writer in Servlet in Little-G Jetty 2.0.1

2007-09-14 Thread Mario Ruebsam

I did some debugging and followed the code until:

SelectChannelConnector$ConnectorEndPoint(SelectChannelEndPoint).run() line: 422

when this line is called the Treads will be created.

I guess this is Jetty code because I could not found it
in the Geronimo sources.

Which Jetty version is used is Geronimo 2.0.1?
When I look in the sources pom.xml it is 6.1.5, is this the used Version?

Thanks,
Mario


Mario Ruebsam wrote:

Hello,

after migrating successful from Little-G Jetty 1.1 to Little-G Jetty 2.0.1
I detected some strange behavior when closing the Servlets response writer.
Every time the writer is closed Geronimo or Jetty creates 10 new Threads
in the DefaultThreadPool. The code snippet is below.

In G 1.1 the same code has no impact on threads.
Does anybody has the same experience? Is this a Jetty or a Geronimo 
problem?


public void doGet(HttpServletRequest pRequest, HttpServletResponse 
pResponse) throws IOException, ServletException {

... do some stuff ...

PrintWriter tOut = pResponse.getWriter();
tOut.write(tData);
tOut.close();
}


Thanks,
Mario





Re: Creation of new threads after closing response writer in Servlet in Little-G Jetty 2.0.1

2007-09-14 Thread Mario Rübsam

I did some debugging and followed the code until:

SelectChannelConnector$ConnectorEndPoint(SelectChannelEndPoint).run() line: 422

when this line is called the Treads will be created.

I guess this is Jetty code because I could not found it
in the Geronimo sources.

Which Jetty version is used is Geronimo 2.0.1?
When I look in the sources pom.xml it is 6.1.5, is this the used Version?

Thanks,
Mario


Mario Ruebsam wrote:

Hello,

after migrating successful from Little-G Jetty 1.1 to Little-G Jetty 2.0.1
I detected some strange behavior when closing the Servlets response writer.
Every time the writer is closed Geronimo or Jetty creates 10 new Threads
in the DefaultThreadPool. The code snippet is below.

In G 1.1 the same code has no impact on threads.
Does anybody has the same experience? Is this a Jetty or a Geronimo 
problem?


public void doGet(HttpServletRequest pRequest, HttpServletResponse 
pResponse) throws IOException, ServletException {

... do some stuff ...

PrintWriter tOut = pResponse.getWriter();
tOut.write(tData);
tOut.close();
}


Thanks,
Mario



Re: Creation of new threads after closing response writer in Servlet in Little-G Jetty 2.0.1

2007-09-14 Thread Kevan Miller


On Sep 14, 2007, at 11:34 AM, Mario Ruebsam wrote:


I did some debugging and followed the code until:

SelectChannelConnector$ConnectorEndPoint(SelectChannelEndPoint).run 
() line: 422


when this line is called the Treads will be created.


Nice. Thanks for digging into this Mario!



I guess this is Jetty code because I could not found it
in the Geronimo sources.


Correct.



Which Jetty version is used is Geronimo 2.0.1?
When I look in the sources pom.xml it is 6.1.5, is this the used  
Version?


Yes, we use 6.1.5. See geronimo-jetty6-jee5-2.0.1/repository/org/ 
mortbay/jetty/jetty/6.1.5/jetty-6.1.5.jar in your installation...


Perhaps Jan or Greg can comment on the behavior you're seeing...

--kevan





Re: Creation of new threads after closing response writer in Servlet in Little-G Jetty 2.0.1

2007-09-14 Thread Paul McMahan
Mario,  thanks for doing the extra debugging to narrow down where the  
problem is at.  Yes the jetty version is 6.1.5.   You can also find  
the version number of a component in the admin console's System  
modules portlet or by the directory name in Geronimo's repository,   
in this case $G/repository/org/mortbay/jetty/jetty/6.1.5


Best wishes,
Paul


On Sep 14, 2007, at 11:34 AM, Mario Ruebsam wrote:


I did some debugging and followed the code until:

SelectChannelConnector$ConnectorEndPoint(SelectChannelEndPoint).run 
() line: 422


when this line is called the Treads will be created.

I guess this is Jetty code because I could not found it
in the Geronimo sources.

Which Jetty version is used is Geronimo 2.0.1?
When I look in the sources pom.xml it is 6.1.5, is this the used  
Version?


Thanks,
Mario


Mario Ruebsam wrote:

Hello,
after migrating successful from Little-G Jetty 1.1 to Little-G  
Jetty 2.0.1
I detected some strange behavior when closing the Servlets  
response writer.
Every time the writer is closed Geronimo or Jetty creates 10 new  
Threads

in the DefaultThreadPool. The code snippet is below.
In G 1.1 the same code has no impact on threads.
Does anybody has the same experience? Is this a Jetty or a  
Geronimo problem?
public void doGet(HttpServletRequest pRequest, HttpServletResponse  
pResponse) throws IOException, ServletException {

... do some stuff ...
PrintWriter tOut = pResponse.getWriter();
tOut.write(tData);
tOut.close();
}
Thanks,
Mario






Re: Creation of new threads after closing response writer in Servlet in Little-G Jetty 2.0.1

2007-09-14 Thread Mario Ruebsam

Ok, I will download or checkout the Jetty 6.1.5 sources to do some further
investigation on it.

Thanks,
Mario


Paul McMahan wrote:
Mario,  thanks for doing the extra debugging to narrow down where the 
problem is at.  Yes the jetty version is 6.1.5.   You can also find the 
version number of a component in the admin console's System modules 
portlet or by the directory name in Geronimo's repository,  in this case 
$G/repository/org/mortbay/jetty/jetty/6.1.5


Best wishes,
Paul


On Sep 14, 2007, at 11:34 AM, Mario Ruebsam wrote:


I did some debugging and followed the code until:

SelectChannelConnector$ConnectorEndPoint(SelectChannelEndPoint).run() 
line: 422


when this line is called the Treads will be created.

I guess this is Jetty code because I could not found it
in the Geronimo sources.

Which Jetty version is used is Geronimo 2.0.1?
When I look in the sources pom.xml it is 6.1.5, is this the used Version?

Thanks,
Mario


Mario Ruebsam wrote:

Hello,
after migrating successful from Little-G Jetty 1.1 to Little-G Jetty 
2.0.1
I detected some strange behavior when closing the Servlets response 
writer.

Every time the writer is closed Geronimo or Jetty creates 10 new Threads
in the DefaultThreadPool. The code snippet is below.
In G 1.1 the same code has no impact on threads.
Does anybody has the same experience? Is this a Jetty or a Geronimo 
problem?
public void doGet(HttpServletRequest pRequest, HttpServletResponse 
pResponse) throws IOException, ServletException {

... do some stuff ...
PrintWriter tOut = pResponse.getWriter();
tOut.write(tData);
tOut.close();
}
Thanks,
Mario









Re: Creation of new threads after closing response writer in Servlet in Little-G Jetty 2.0.1

2007-09-14 Thread Mario Ruebsam

The new Treads are created by more than one Servlet requests
when loading a page. The page itself and also serving some
static files.
The new Threads appear all at the same time because of a
synchronized block in SelectChannelEndPoint.undispatch();
Which is called at the line number mentioned in my last mail.

All that looks like normal behaviour. The problem I see is
that all newly created Threads stay alive and none of theses
Threads is reused after that.

I guess there is some problem reusing the Threads in the pool and
every request creates new Threads. The number of 10 new threads
mentioned before relates magically to exact 10 servlet requests
in my test case. On other pages there are lesser or more.
So the number means nothing.

I have no idea about the Thread pool management and don't know
where to start so I give the ball back to you guys on the list.

Thanks,
Mario


Mario Ruebsam wrote:

Ok, I will download or checkout the Jetty 6.1.5 sources to do some further
investigation on it.

Thanks,
Mario


Paul McMahan wrote:
Mario,  thanks for doing the extra debugging to narrow down where the 
problem is at.  Yes the jetty version is 6.1.5.   You can also find 
the version number of a component in the admin console's System 
modules portlet or by the directory name in Geronimo's repository,  in 
this case $G/repository/org/mortbay/jetty/jetty/6.1.5


Best wishes,
Paul


On Sep 14, 2007, at 11:34 AM, Mario Ruebsam wrote:


I did some debugging and followed the code until:

SelectChannelConnector$ConnectorEndPoint(SelectChannelEndPoint).run() 
line: 422


when this line is called the Treads will be created.

I guess this is Jetty code because I could not found it
in the Geronimo sources.

Which Jetty version is used is Geronimo 2.0.1?
When I look in the sources pom.xml it is 6.1.5, is this the used 
Version?


Thanks,
Mario


Mario Ruebsam wrote:

Hello,
after migrating successful from Little-G Jetty 1.1 to Little-G Jetty 
2.0.1
I detected some strange behavior when closing the Servlets response 
writer.
Every time the writer is closed Geronimo or Jetty creates 10 new 
Threads

in the DefaultThreadPool. The code snippet is below.
In G 1.1 the same code has no impact on threads.
Does anybody has the same experience? Is this a Jetty or a Geronimo 
problem?
public void doGet(HttpServletRequest pRequest, HttpServletResponse 
pResponse) throws IOException, ServletException {

... do some stuff ...
PrintWriter tOut = pResponse.getWriter();
tOut.write(tData);
tOut.close();
}
Thanks,
Mario