It can wait, go ahead with the release.
But the FileLogger's use of java.sql.Timestamp is a bottleneck, I have the thread dump stack traces to prove that it is.
Right now the biggest problem I have with Tomcat scaling is with this type of synchronization bottleneck.
I have thread dump stack traces where two thirds of the threads are waiting on the same synchronization bottleneck related to use of one or more of the following classes:
java.util.Date java.util.TimcZone.getDefault() java.util.Calendar.getInstance() java.text.SimpleDateFormat java.sql.Date java.sql.Time java.sql.Timestamp
They all hit the same synchronization bottleneck. And I have multiple code bases that have to go through this bottleneck; Tomcats FileLogger which gets used a great deal for the Connector log when Tomcat is heavily loaded, the MySQL Connector/J JDBC driver, and I have customer web application code which hits this also.
Due to scaling problems I setup a second app server and load balancing. It still did not scale well because of the above synchronization bottleneck. Both app servers became overloaded due to this bottleneck.
I now think the best solution might be a commons project to provide alternate solutions for the above date related classes designed so that this synchronization bottleneck is avoided.
Regards,
Glenn
Remy Maucherat wrote:
Glenn,
What you've posted does not make much sense to me: logging is not a per request event, or at least it should not, so I don't see any bottleneck in a normal situation where logged events are relatively rare.
The change is too big to be included at the last minute in 4.1.25, which is meant to fix two security issues primarily, and must be voted stable. As a result, there will not be any more delays in this tag (which should have happened yesterday, but unfortunately, my DSL decided to die on me late in the evening as I was putting together the changelog). This is a good optimization overall, that can be done in a few components (like the access log), but there's simply no incentive to push back a release for it. I'll have all the time I want for Tomcat starting next week, so I can start doing more frequent TC 4 releases, instead of focusing the small amount of time I have on TC 5 :-D
Additionally, there is no critical path component in Tomcat which needs to be optimized for Date processing (and esp not Jasper, except in dev mode). I did that long ago.
Rémy
__________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]