tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ted Kirby" <ted.ki...@gmail.com>
Subject Fwd: Problem with org.apache.coyote.Request ?
Date Sat, 19 May 2007 19:38:25 GMT
I sent this to user list a few days ago, and got no response.  The dev
list is probably a better place for it.

I also see I forgot to attach my patch, which I will do now.

Ted Kirby

---------- Forwarded message ----------
From: Ted Kirby <ted.kirby@gmail.com>
Date: May 16, 2007 11:02 AM
Subject: Problem with org.apache.coyote.Request ?
To: users@tomcat.apache.org


I see that setNote is used to cache objects in the Request object.  I
think these cached objects should be released in the recycle() method,
but I do not see code in there to do so.

I was tracing a problem I was having with a debugger on two different
JVMs.  I was looking at this traceback:
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:543)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:238)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:801)

I was stopping in org.apache.catalina.connector.CoyoteAdapter.service,
and my first time tthere, req.getNote(ADAPTER_NOTES) was not returning
null a Sun 1.5 JVM.  I also added code in the Request constructor to
insure notes was an array of nulls, and that fixed this "problem".

I have attached my fix.

I think not clearing notes in recycle() is a problem.  I was surprised
I seemed to need the code in the constructor.  It is possible that I
did not catch a use of the request object before service(), but I had
a stop in setNote().

It does not seem that setNote() is used very often, and I could not
really see what is was doing.

Ted Kirby

Mime
View raw message