[Bug 66276] New: Intermittent ClassCastException with HTTP/2 streams
https://bz.apache.org/bugzilla/show_bug.cgi?id=66276 Bug ID: 66276 Summary: Intermittent ClassCastException with HTTP/2 streams Product: Tomcat 9 Version: 9.0.55 Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: brendan.be...@quest.com Target Milestone: - Overview: When Tomcat is configured to use HTTP/2, the following errors will occasionally be seen in the application logs: 2022-09-04 09:28:59.481 FATAL [http-exec-36] Unhandled exception in thread "http-exec-36": java.lang.ClassCastException: org.apache.coyote.http2.RecycledStream cannot be cast to org.apache.coyote.http2.Stream java.lang.ClassCastException: org.apache.coyote.http2.RecycledStream cannot be cast to org.apache.coyote.http2.Stream at org.apache.coyote.http2.AbstractNonZeroStream.rePrioritise(AbstractNonZeroStream.java:79) at org.apache.coyote.http2.Http2UpgradeHandler.reprioritise(Http2UpgradeHandler.java:1651) at org.apache.coyote.http2.Http2AsyncUpgradeHandler.reprioritise(Http2AsyncUpgradeHandler.java:41) at org.apache.coyote.http2.Http2Parser.readPriorityFrame(Http2Parser.java:299) at org.apache.coyote.http2.Http2AsyncParser$FrameCompletionHandler.completed(Http2AsyncParser.java:254) at org.apache.coyote.http2.Http2AsyncParser$FrameCompletionHandler.completed(Http2AsyncParser.java:164) at org.apache.tomcat.util.net.SocketWrapperBase$VectoredIOCompletionHandler.completed(SocketWrapperBase.java:1113) at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper$NioOperationState.run(NioEndpoint.java:1634) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:750) Steps to reproduce: Enable HTTP/2 connections, and view the application logs after it has been running for a period of time. Actual Results: No obvious affect on the application. Appears to be an intermittent error. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 10.1.0
On 23/09/2022 10:44, Mark Thomas wrote: The proposed 10.1.0 release is: [ ] Broken - do not release [ ] Beta - go ahead and release as 10.1.0 (beta) [X] Stable - go ahead and release as 10.1.0 (stable) Unit tests pass on Linux, Windows and MacOS. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 10.0.26
On 23/09/2022 12:58, Mark Thomas wrote: The proposed 10.0.26 release is: [ ] Broken - do not release [X] Stable - go ahead and release as 10.0.26 (stable) Unit tests pass on Linux, Windows and MacOS. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 9.0.67
On Fri, Sep 23, 2022 at 2:03 PM Rémy Maucherat wrote: > > The proposed Apache Tomcat 9.0.67 release is now available for voting. > > The notable changes compared to 9.0.65 are: > > - Add support for authenticating WebSocket clients with an HTTP forward >proxy when establishing a connection to a WebSocket endpoint via a >forward proxy that requires authentication. Based on a patch provided >by Joe Mokos. > > - Various fixes for edge case bugs in EL processing. > > - Improve host header handling for HTTP/2 requests. > > Along with lots of other bug fixes and improvements. > > For full details, see the changelog: > https://nightlies.apache.org/tomcat/tomcat-9.0.x/docs/changelog.html > > It can be obtained from: > https://dist.apache.org/repos/dist/dev/tomcat/tomcat-9/v9.0.67/ > The Maven staging repo is: > https://repository.apache.org/content/repositories/orgapachetomcat-1397 > The tag is: > https://github.com/apache/tomcat/tree/9.0.67 > 5f818dfac98784d805830adcff41315d4edd9f7c > > The proposed 9.0.67 release is: > [ ] Broken - do not release > [X] Stable - go ahead and release as 9.0.67 (stable) Remy - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[VOTE][RESULT] Release Apache Tomcat 10.1.0
The following votes were cast: Binding: +1 (stable): remm, jfclere, markt Non-Binding: +1 (stable): lihan The vote therefore passes. Thanks to everyone who contributed to this release. Mark On 23/09/2022 10:44, Mark Thomas wrote: The proposed Apache Tomcat 10.1.0 release is now available for voting. Applications that run on Tomcat 9 and earlier will not run on Tomcat 10 without changes. Java EE applications designed for Tomcat 9 and earlier may be placed in the $CATALINA_BASE/webapps-javaee directory and Tomcat will automatically convert them to Jakarta EE and copy them to the webapps directory. The notable changes compared to 10.1.0-M17 are: - Add support for authenticating WebSocket clients with an HTTP forward proxy when establishing a connection to a WebSocket endpoint via a forward proxy that requires authentication. Based on a patch provided by Joe Mokos. - Various fixes for edge case bugs in EL processing - Improve host header handling for HTTP/2 requests For full details, see the change log: https://nightlies.apache.org/tomcat/tomcat-10.1.x/docs/changelog.html It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-10/v10.1.0/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1396 The tag is: https://github.com/apache/tomcat/tree/10.1.0 e9d17cddc285615807ec5fef09240777436b25dc The proposed 10.1.0 release is: [ ] Broken - do not release [ ] Beta - go ahead and release as 10.1.0 (beta) [ ] Stable - go ahead and release as 10.1.0 (stable) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r56995 - /dev/tomcat/tomcat-10/v10.1.0/ /release/tomcat/tomcat-10/v10.1.0/
Author: markt Date: Mon Sep 26 12:08:52 2022 New Revision: 56995 Log: Release Apache Tomcat 10.1.0 Added: release/tomcat/tomcat-10/v10.1.0/ - copied from r56994, dev/tomcat/tomcat-10/v10.1.0/ Removed: dev/tomcat/tomcat-10/v10.1.0/ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 66209] CPU regression when classpath Bloom filters are active
https://bz.apache.org/bugzilla/show_bug.cgi?id=66209 --- Comment #20 from Rahul Jaisimha --- We've realized the proposed change (updating useBloomFilterForArchives from boolean to String) is a breaking change, since the setter for this value is exposed publically. The two options to get around this and maintain backward-compatibility are: 1. Mark the boolean Setter as Deprecated and add a String Setter. The Getter would remain a boolean and return whether a bloom filter is to be used (true for "TRUE" and "RETAINED"). A second getter would have to be exposed to understand if useBloomFilterForArchives is "RETAINED". This could also be boolean. 2. Maintain the original boolean "useBloomFilterForArchives" and add a second boolean parameter "retainBloomFilter". The logic for re-initializing the bloom filter would depend on both parameters. "retainBloomFilter" will default to false and will maintain the existing behavior for "useBloomFilterForArchives". The existing behavior will also be retained if "useBloomFilterForArchives" is false. Only if "retainBloomFilter" is true and "useBloomFilterForArchives" is true, then will the bloom filter avoid re-initialization. For 10.1.x we will maintain the same solution, since this can be non-backwards-compatible: > For 10.1.x, I'll remove "useBloomFilterForArchives" from Context and add > "archiveIndexing" in WebResourceRoot which supports the following options: > ["simple", "bloom", "purged-bloom"]. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1904274 - in /tomcat/site/trunk/docs/tomcat-10.1-doc: ./ annotationapi/ annotationapi/jakarta/annotation/ annotationapi/jakarta/annotation/security/ annotationapi/jakarta/annotation/sql/
Author: markt Date: Mon Sep 26 14:32:03 2022 New Revision: 1904274 URL: http://svn.apache.org/viewvc?rev=1904274&view=rev Log: Update docs for 10.1.0 release [This commit notification would consist of 147 parts, which exceeds the limit of 50 ones, so it was shortened to the summary.] - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1904275 - in /tomcat/site/trunk: ./ docs/ xdocs/
Author: markt Date: Mon Sep 26 14:34:00 2022 New Revision: 1904275 URL: http://svn.apache.org/viewvc?rev=1904275&view=rev Log: Update site for Tomcat 10.1.0 release Modified: tomcat/site/trunk/build.properties.default tomcat/site/trunk/docs/doap_Tomcat.rdf tomcat/site/trunk/docs/download-10.html tomcat/site/trunk/docs/index.html tomcat/site/trunk/docs/migration-10.1.html tomcat/site/trunk/docs/oldnews.html tomcat/site/trunk/docs/whichversion.html tomcat/site/trunk/xdocs/doap_Tomcat.rdf tomcat/site/trunk/xdocs/download-10.xml tomcat/site/trunk/xdocs/index.xml tomcat/site/trunk/xdocs/migration-10.1.xml tomcat/site/trunk/xdocs/oldnews.xml tomcat/site/trunk/xdocs/whichversion.xml Modified: tomcat/site/trunk/build.properties.default URL: http://svn.apache.org/viewvc/tomcat/site/trunk/build.properties.default?rev=1904275&r1=1904274&r2=1904275&view=diff == --- tomcat/site/trunk/build.properties.default (original) +++ tomcat/site/trunk/build.properties.default Mon Sep 26 14:34:00 2022 @@ -40,7 +40,7 @@ tomcat7.0=7.0.109 tomcat8.5=8.5.82 tomcat9.0=9.0.64 tomcat10.0=10.0.23 -tomcat10.1=10.1.0-M17 +tomcat10.1=10.1.0 # - Download destination - tomcat-site-docs.home=${base.path}/tomcat-site-docs/ Modified: tomcat/site/trunk/docs/doap_Tomcat.rdf URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/doap_Tomcat.rdf?rev=1904275&r1=1904274&r2=1904275&view=diff == --- tomcat/site/trunk/docs/doap_Tomcat.rdf (original) +++ tomcat/site/trunk/docs/doap_Tomcat.rdf Mon Sep 26 14:34:00 2022 @@ -59,6 +59,13 @@ +Latest Stable 10.1.x Release +2022-09-26 +10.1.0 + + + + Latest Stable 10.0.x Release 2022-07-26 10.0.23 Modified: tomcat/site/trunk/docs/download-10.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/download-10.html?rev=1904275&r1=1904274&r2=1904275&view=diff == --- tomcat/site/trunk/docs/download-10.html (original) +++ tomcat/site/trunk/docs/download-10.html Mon Sep 26 14:34:00 2022 @@ -20,10 +20,10 @@ Quick Navigation [define v]10.0.23[end] -[define w]10.1.0-M17[end] +[define w]10.1.0[end] https://downloads.apache.org/tomcat/tomcat-10/KEYS";>KEYS | [v] | -[w] (beta) | +[w] | Browse | https://archive.apache.org/dist/tomcat/tomcat-10";>Archives Release Integrity Modified: tomcat/site/trunk/docs/index.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/index.html?rev=1904275&r1=1904274&r2=1904275&view=diff == --- tomcat/site/trunk/docs/index.html (original) +++ tomcat/site/trunk/docs/index.html Mon Sep 26 14:34:00 2022 @@ -34,6 +34,36 @@ wiki page. Apache Tomcat, Tomcat, Apache, the Apache feather, and the Apache Tomcat project logo are trademarks of the Apache Software Foundation. +2022-09-26 Tomcat 10.1.0 Released + +The Apache Tomcat Project is proud to announce the release of version 10.1.0 +of Apache Tomcat. This is the first stable release of Apache Tomcat targeted at +Jakarta EE 10. +Applications that run on Tomcat 9 and earlier will not run on Tomcat 10 +without changes. Java EE based applications designed for Tomcat 9 and earlier +may be placed in the $CATALINA_BASE/webapps-javaee directory and +Tomcat will automatically convert them to Jakarta EE and copy them to the +webapps directory. This conversion is performed using the +https://github.com/apache/tomcat-jakartaee-migration";>Apache Tomcat +migration tool for Jakarta EE tool which is also available as a separate +https://tomcat.apache.org/download-migration.cgi";>download for off-line use. +The notable changes in this release are: + +Add support for authenticating WebSocket clients with an HTTP forward proxy +when establishing a connection to a WebSocket endpoint via a forward proxy +that requires authentication. Based on a patch provided by Joe Mokos. +Various fixes for edge case bugs in EL processing. +Improve host header handling for HTTP/2 requests. + + +Full details of these changes, and all the other changes, are available in the +Tomcat 10.1 +changelog. + + + +https://tomcat.apache.org/download-10.cgi";>Download + 2022-09-20 Tomcat Migration Tool for Jakarta EE 1.0.4 Released The Apache Tomcat Project is proud to announce the release of 1.0.4 of the @@ -131,36 +161,6 @@ changelog. https://tomcat.apache.org/download-90.cgi";>Download -2022-07-20 Tomcat 10.1.0-M17 (beta) Released - -The Apache Tomcat Project is proud to announce the release of version 10.1.0-M17 -of Apache Tomcat. This release is a milestone release and is targeted at Jakarta -EE 10. -Applications that run on Tom
[Bug 66209] CPU regression when classpath Bloom filters are active
https://bz.apache.org/bugzilla/show_bug.cgi?id=66209 --- Comment #21 from Mark Thomas --- 10.1.x is now stable so the plan needs to account for that too. Given the context how about this: - leave useBloomFilterForArchives as a boolean on the Context - deprecate this for all versions (to be removed in Tomcat 11) - add archiveIndexing as a String attribute on WebResourceRoot -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[ANN] Apache Tomcat 10.1.0 (stable) available
The Apache Tomcat team announces the immediate availability of Apache Tomcat 10.1.0 (stable). This is the first stable release of the 10.1.x branch. Apache Tomcat 10 is an open source software implementation of the Jakarta Servlet, Jakarta Server Pages, Jakarta Expression Language, Jakarta WebSocket, Jakarta Authentication and Jakarta Annotations specifications. Applications that run on Tomcat 9 and earlier will not run on Tomcat 10 without changes. Java EE applications designed for Tomcat 9 and earlier may be placed in the $CATALINA_BASE/webapps-javaee directory and Tomcat will automatically convert them to Jakarta EE and copy them to the webapps directory. This conversion is performed using the Apache Tomcat migration tool for Jakarta EE tool which is also available as a separate download for off-line use. The notable changes compared to 10.1.0-M17 include: - Add support for authenticating WebSocket clients with an HTTP forward proxy when establishing a connection to a WebSocket endpoint via a forward proxy that requires authentication. Based on a patch provided by Joe Mokos. - Various fixes for edge case bugs in EL processing. - Improve host header handling for HTTP/2 requests. Please refer to the change log for the complete list of changes: http://tomcat.apache.org/tomcat-10.1-doc/changelog.html Downloads: http://tomcat.apache.org/download-10.cgi Migration guides from Apache Tomcat 7.0.x, 8.5.x and 9.0.x: http://tomcat.apache.org/migration.html Enjoy! - The Apache Tomcat team - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1904276 - in /tomcat/site/trunk: docs/migration-10.1.html xdocs/migration-10.1.xml
Author: markt Date: Mon Sep 26 14:46:08 2022 New Revision: 1904276 URL: http://svn.apache.org/viewvc?rev=1904276&view=rev Log: Tomcat 10.1.x implements Jakarta Authentication 3.0 Modified: tomcat/site/trunk/docs/migration-10.1.html tomcat/site/trunk/xdocs/migration-10.1.xml Modified: tomcat/site/trunk/docs/migration-10.1.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/migration-10.1.html?rev=1904276&r1=1904275&r2=1904276&view=diff == --- tomcat/site/trunk/docs/migration-10.1.html (original) +++ tomcat/site/trunk/docs/migration-10.1.html Mon Sep 26 14:46:08 2022 @@ -23,7 +23,7 @@ of Apache Tomcat. Apache Tomcat 10.1 supports the Jakarta Servlet 6.0, Jakarta Server Pages 3.1, Jakarta Expression Language 5.0, -JakartaWebSocket 2.1 and Jakarta Authentication TBD +JakartaWebSocket 2.1 and Jakarta Authentication 3.0 https://cwiki.apache.org/confluence/display/TOMCAT/Specifications";>specifications. Modified: tomcat/site/trunk/xdocs/migration-10.1.xml URL: http://svn.apache.org/viewvc/tomcat/site/trunk/xdocs/migration-10.1.xml?rev=1904276&r1=1904275&r2=1904276&view=diff == --- tomcat/site/trunk/xdocs/migration-10.1.xml (original) +++ tomcat/site/trunk/xdocs/migration-10.1.xml Mon Sep 26 14:46:08 2022 @@ -36,7 +36,7 @@ of Apache Tomcat. Apache Tomcat 10.1 supports the Jakarta Servlet 6.0, Jakarta Server Pages 3.1, Jakarta Expression Language 5.0, -JakartaWebSocket 2.1 and Jakarta Authentication TBD +JakartaWebSocket 2.1 and Jakarta Authentication 3.0 https://cwiki.apache.org/confluence/display/TOMCAT/Specifications";>specifications. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Status of 10.0.x
Hi all, Now 10.1.x is stable, how to we want to handle 10.0.x? Than plan has always been that we would support 10.0.x until 10.1.x was stable. Assuming the vote passes (we need 1 more +1) then there will be a 10.0.26 release. Do we want that to be the last 10.0.x. release? If, not, how many more 10.0.x releases should there be? Keep in mind that work on 11.0.x could start shortly - thread about that to follow. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Status of 10.0.x
On Mon, Sep 26, 2022 at 4:51 PM Mark Thomas wrote: > > Hi all, > > Now 10.1.x is stable, how to we want to handle 10.0.x? Than plan has > always been that we would support 10.0.x until 10.1.x was stable. > > Assuming the vote passes (we need 1 more +1) then there will be a > 10.0.26 release. Do we want that to be the last 10.0.x. release? If, > not, how many more 10.0.x releases should there be? I'm not against stopping at 10.0.26 and directing people to 10.1. Maybe we could make a promise for critical security fixes for a period of time ? Another item: there was supposed to be a 9.10 branch. But right now, the changes are probably not significant enough and it's simply better for everyone to keep all the work on 9.0. > Keep in mind that work on 11.0.x could start shortly - thread about that > to follow. Ok ! Rémy > > Mark > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 66209] CPU regression when classpath Bloom filters are active
https://bz.apache.org/bugzilla/show_bug.cgi?id=66209 --- Comment #22 from Rahul Jaisimha --- (In reply to Mark Thomas from comment #21) > 10.1.x is now stable so the plan needs to account for that too. > > Given the context how about this: > > - leave useBloomFilterForArchives as a boolean on the Context > - deprecate this for all versions (to be removed in Tomcat 11) > - add archiveIndexing as a String attribute on WebResourceRoot I like this solution. In that case, "useBloomFilterForArchives" will be honored if "archiveIndexing" is "false" (default). If "archiveIndexing" is set (any value other than "false"), then it will override "useBloomFilterForArchives". Agree with this behavior? -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Status of 10.0.x
On 26/09/2022 16:07, Rémy Maucherat wrote: On Mon, Sep 26, 2022 at 4:51 PM Mark Thomas wrote: Hi all, Now 10.1.x is stable, how to we want to handle 10.0.x? Than plan has always been that we would support 10.0.x until 10.1.x was stable. Assuming the vote passes (we need 1 more +1) then there will be a 10.0.26 release. Do we want that to be the last 10.0.x. release? If, not, how many more 10.0.x releases should there be? I'm not against stopping at 10.0.26 and directing people to 10.1. Maybe we could make a promise for critical security fixes for a period of time ? Another item: there was supposed to be a 9.10 branch. But right now, the changes are probably not significant enough and it's simply better for everyone to keep all the work on 9.0. Agreed. My thinking on how to do this has changed. I am currently thinking that when 9.0.x reaches end of life we create the 9.10.x branch and then do a diff against 10.0.x and back-port every change apart from those that change (or support) the Java EE API. I think that will be less work. Keep in mind that work on 11.0.x could start shortly - thread about that to follow. Ok ! :) Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[VOTE][RESULT] Release Apache Tomcat 9.0.67
The following votes were cast: Binding: +1 (stable): ebourg, jfclere, remm Non-Binding: +1 (stable): lihan The vote therefore passes. Thanks to everyone who contributed to this release. Remy On Fri, Sep 23, 2022 at 2:03 PM Rémy Maucherat wrote: > > The proposed Apache Tomcat 9.0.67 release is now available for voting. > > The notable changes compared to 9.0.65 are: > > - Add support for authenticating WebSocket clients with an HTTP forward >proxy when establishing a connection to a WebSocket endpoint via a >forward proxy that requires authentication. Based on a patch provided >by Joe Mokos. > > - Various fixes for edge case bugs in EL processing. > > - Improve host header handling for HTTP/2 requests. > > Along with lots of other bug fixes and improvements. > > For full details, see the changelog: > https://nightlies.apache.org/tomcat/tomcat-9.0.x/docs/changelog.html > > It can be obtained from: > https://dist.apache.org/repos/dist/dev/tomcat/tomcat-9/v9.0.67/ > The Maven staging repo is: > https://repository.apache.org/content/repositories/orgapachetomcat-1397 > The tag is: > https://github.com/apache/tomcat/tree/9.0.67 > 5f818dfac98784d805830adcff41315d4edd9f7c > > The proposed 9.0.67 release is: > [ ] Broken - do not release > [ ] Stable - go ahead and release as 9.0.67 (stable) > > Rémy - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r57007 - /dev/tomcat/tomcat-9/v9.0.67/ /release/tomcat/tomcat-9/v9.0.67/
Author: remm Date: Mon Sep 26 18:35:57 2022 New Revision: 57007 Log: Release Apache Tomcat 9.0.67 Added: release/tomcat/tomcat-9/v9.0.67/ - copied from r57006, dev/tomcat/tomcat-9/v9.0.67/ Removed: dev/tomcat/tomcat-9/v9.0.67/ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1904283 - in /tomcat/site/trunk: ./ docs/ xdocs/
Author: remm Date: Mon Sep 26 18:46:57 2022 New Revision: 1904283 URL: http://svn.apache.org/viewvc?rev=1904283&view=rev Log: Update site for Tomcat 9.0.67 Modified: tomcat/site/trunk/build.properties.default tomcat/site/trunk/docs/doap_Tomcat.rdf tomcat/site/trunk/docs/download-90.html tomcat/site/trunk/docs/index.html tomcat/site/trunk/docs/migration-9.html tomcat/site/trunk/docs/oldnews.html tomcat/site/trunk/docs/whichversion.html tomcat/site/trunk/xdocs/doap_Tomcat.rdf tomcat/site/trunk/xdocs/download-90.xml tomcat/site/trunk/xdocs/index.xml tomcat/site/trunk/xdocs/migration-9.xml tomcat/site/trunk/xdocs/oldnews.xml tomcat/site/trunk/xdocs/whichversion.xml Modified: tomcat/site/trunk/build.properties.default URL: http://svn.apache.org/viewvc/tomcat/site/trunk/build.properties.default?rev=1904283&r1=1904282&r2=1904283&view=diff == --- tomcat/site/trunk/build.properties.default (original) +++ tomcat/site/trunk/build.properties.default Mon Sep 26 18:46:57 2022 @@ -38,7 +38,7 @@ tomcat.loc=https://downloads.apache.org/ # - Tomcat versions - tomcat7.0=7.0.109 tomcat8.5=8.5.82 -tomcat9.0=9.0.64 +tomcat9.0=9.0.67 tomcat10.0=10.0.23 tomcat10.1=10.1.0 Modified: tomcat/site/trunk/docs/doap_Tomcat.rdf URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/doap_Tomcat.rdf?rev=1904283&r1=1904282&r2=1904283&view=diff == --- tomcat/site/trunk/docs/doap_Tomcat.rdf (original) +++ tomcat/site/trunk/docs/doap_Tomcat.rdf Mon Sep 26 18:46:57 2022 @@ -74,8 +74,8 @@ Latest Stable 9.0.x Release -2022-07-20 -9.0.65 +2022-09-26 +9.0.67 Modified: tomcat/site/trunk/docs/download-90.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/download-90.html?rev=1904283&r1=1904282&r2=1904283&view=diff == --- tomcat/site/trunk/docs/download-90.html (original) +++ tomcat/site/trunk/docs/download-90.html Mon Sep 26 18:46:57 2022 @@ -10,7 +10,7 @@ Quick Navigation -[define v]9.0.65[end] +[define v]9.0.67[end] https://downloads.apache.org/tomcat/tomcat-9/KEYS";>KEYS | [v] | Browse | Modified: tomcat/site/trunk/docs/index.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/index.html?rev=1904283&r1=1904282&r2=1904283&view=diff == --- tomcat/site/trunk/docs/index.html (original) +++ tomcat/site/trunk/docs/index.html Mon Sep 26 18:46:57 2022 @@ -64,6 +64,28 @@ changelog. https://tomcat.apache.org/download-10.cgi";>Download +2022-09-26 Tomcat 9.0.67 Released + +The Apache Tomcat Project is proud to announce the release of version 9.0.67 +of Apache Tomcat. This release implements specifications that are part of the +Java EE 8 platform. The notable changes compared to 9.0.65 include: + +Add support for authenticating WebSocket clients with an HTTP forward +proxy when establishing a connection to a WebSocket endpoint via a +forward proxy that requires authentication. Based on a patch provided +by Joe Mokos. +Various fixes for edge case bugs in EL processing. +Improve host header handling for HTTP/2 requests. + + +Full details of these changes, and all the other changes, are available in the +Tomcat 9 +changelog. + + + +https://tomcat.apache.org/download-90.cgi";>Download + 2022-09-20 Tomcat Migration Tool for Jakarta EE 1.0.4 Released The Apache Tomcat Project is proud to announce the release of 1.0.4 of the Modified: tomcat/site/trunk/docs/migration-9.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/migration-9.html?rev=1904283&r1=1904282&r2=1904283&view=diff == --- tomcat/site/trunk/docs/migration-9.html (original) +++ tomcat/site/trunk/docs/migration-9.html Mon Sep 26 18:46:57 2022 @@ -446,7 +446,8 @@ of Apache Tomcat. 9.0.60 9.0.62 9.0.63 -9.0.64 +9.0.64 +9.0.65 , new version: 9.0.0-M1 @@ -516,7 +517,8 @@ of Apache Tomcat. 9.0.62 9.0.63 9.0.64 -9.0.65 +9.0.65 +9.0.67 trunk (unreleased) Modified: tomcat/site/trunk/docs/oldnews.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/oldnews.html?rev=1904283&r1=1904282&r2=1904283&view=diff == --- tomcat/site/trunk/docs/oldnews.html (original) +++ tomcat/site/trunk/docs/oldnews.html Mon Sep 26 18:46:57 2022 @@ -16,6 +16,27 @@ year 2011 year 2010 +2022-07-20 Tomcat 9.0.65 Released + +The Apache Tomcat Project is proud to announce the release of version 9.0.65 +of Apache Tomcat. This release implements specif
svn commit: r1904284 - in /tomcat/site/trunk/docs/tomcat-9.0-doc: ./ annotationapi/ annotationapi/javax/annotation/ annotationapi/javax/annotation/security/ annotationapi/javax/annotation/sql/ api/ ap
Author: remm Date: Mon Sep 26 18:56:04 2022 New Revision: 1904284 URL: http://svn.apache.org/viewvc?rev=1904284&view=rev Log: Update docs for 9.0.67 [This commit notification would consist of 411 parts, which exceeds the limit of 50 ones, so it was shortened to the summary.] - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1904285 - in /tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache: el/util/ jasper/el/ juli/ tomcat/buildutil/ tomcat/websocket/
Author: remm Date: Mon Sep 26 18:57:11 2022 New Revision: 1904285 URL: http://svn.apache.org/viewvc?rev=1904285&view=rev Log: Update docs for 9.0.67 Added: tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/el/util/ExceptionUtils.html tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/jasper/el/JasperELResolver.GraalBeanELResolver.html tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/juli/FileHandler.ThreadFactory.html tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/tomcat/buildutil/ForceUtcTimeZone.html tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/tomcat/websocket/AuthenticationType.html Removed: tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/juli/AsyncFileHandler.LogEntry.html tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/juli/AsyncFileHandler.LoggerThread.html Added: tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/el/util/ExceptionUtils.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/el/util/ExceptionUtils.html?rev=1904285&view=auto == --- tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/el/util/ExceptionUtils.html (added) +++ tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/el/util/ExceptionUtils.html Mon Sep 26 18:57:11 2022 @@ -0,0 +1,336 @@ + + + + + +ExceptionUtils (Apache Tomcat 9.0.67 API Documentation) + + + + + + + + + + + + +var data = {"i0":9,"i1":9}; +var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]}; +var altColor = "altColor"; +var rowColor = "rowColor"; +var tableTab = "tableTab"; +var activeTableTab = "activeTableTab"; +var pathtoroot = "../../../../"; +var useModuleDirectories = true; +loadScripts(document, 'script'); + +JavaScript is disabled on your browser. + + + + + + + + +Skip navigation links + + + + +Overview +Package +Class +Tree +Deprecated +Index +Help + +Apache Tomcat 9.0.67 + + + +All Classes + + +SEARCH: + + + + + + + + +JavaScript is disabled on your browser. + + + + +Summary: +Nested | +Field | +Constr | +Method + + +Detail: +Field | +Constr | +Method + + + + + + + + + + + + + + + +Package org.apache.el.util +Class ExceptionUtils + + + +java.lang.Object + + +org.apache.el.util.ExceptionUtils + + + + + + + +public class ExceptionUtils +extends java.lang.Object +Utilities for handling Throwables and Exceptions. + + + + + + + + + + + + +Constructor Summary + +Constructors + +Constructor +Description + + +ExceptionUtils() + + + + + + + + + + + + +Method Summary + +All Methods Static Methods Concrete Methods + +Modifier and Type +Method +Description + + +static void +handleThrowable(java.lang.Throwable t) + +Checks whether the supplied Throwable is one that needs to be + rethrown and swallows all others. + + + +static void +preload() + +NO-OP method provided to enable simple pre-loading of this class. + + + + + + + +Methods inherited from class java.lang.Object +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait + + + + + + + + + + + + + + + + +Constructor Detail + + + + + +ExceptionUtils +public ExceptionUtils() + + + + + + + + + + + +Method Detail + + + + + +handleThrowable +public static void handleThrowable(java.lang.Throwable t) +Checks whether the supplied Throwable is one that needs to be + rethrown and swallows all others. + +Parameters: +t - the Throwable to check + + + + + + + + +preload +public static void preload() +NO-OP method provided to enable simple pre-loading of this class. Since + the class is used extensively in error handling, it is prudent to + pre-load it to avoid any failure to load this class masking the true + problem during error handling. + + + + + + + + + + + + + + + + + +Skip navigation links + + + + +Overview +Package +Class +Tree +Deprecated +Index +Help + +Apache Tomcat 9.0.67 + + + +All Classes + + + + + +JavaScript is disabled on your browser. + + + + +Summary: +Nested | +Field | +Constr | +Method + + +Detail: +Field | +Constr | +Method + + + + + + + +Copyright © 2000-2022 Apache Software Foundation. All Rights Reserved. + + + Added: tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/jasper/el/JasperELR
[ANN] Apache Tomcat 9.0.67 available
The Apache Tomcat team announces the immediate availability of Apache Tomcat 9.0.67. Apache Tomcat 9 is an open source software implementation of the Java Servlet, JavaServer Pages, Java Unified Expression Language, Java WebSocket and JASPIC technologies. Apache Tomcat 9.0.67 is a bugfix and feature release. The notable changes compared to 9.0.65 include: - Add support for authenticating WebSocket clients with an HTTP forward proxy when establishing a connection to a WebSocket endpoint via a forward proxy that requires authentication. Based on a patch provided by Joe Mokos. - Various fixes for edge case bugs in EL processing. - Improve host header handling for HTTP/2 requests. Along with lots of other bug fixes and improvements. Please refer to the change log for the complete list of changes: https://tomcat.apache.org/tomcat-9.0-doc/changelog.html Downloads: https://tomcat.apache.org/download-90.cgi Migration guides from Apache Tomcat 7.x and 8.x: https://tomcat.apache.org/migration.html Enjoy! - The Apache Tomcat team - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 9.0.x updated: Next dev cycle
This is an automated email from the ASF dual-hosted git repository. remm pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/9.0.x by this push: new c874418115 Next dev cycle c874418115 is described below commit c874418115445a3df12c337c83e594747e0f9abc Author: remm AuthorDate: Mon Sep 26 21:18:08 2022 +0200 Next dev cycle --- build.properties.default | 2 +- res/maven/mvn.properties.default | 2 +- webapps/docs/changelog.xml | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/build.properties.default b/build.properties.default index 1f78f187a1..d506e06178 100644 --- a/build.properties.default +++ b/build.properties.default @@ -31,7 +31,7 @@ # - Version Control Flags - version.major=9 version.minor=0 -version.build=67 +version.build=68 version.patch=0 version.suffix= version.dev=-dev diff --git a/res/maven/mvn.properties.default b/res/maven/mvn.properties.default index 279fec302c..be0f8f949a 100644 --- a/res/maven/mvn.properties.default +++ b/res/maven/mvn.properties.default @@ -39,7 +39,7 @@ maven.asf.release.repo.url=https://repository.apache.org/service/local/staging/d maven.asf.release.repo.repositoryId=apache.releases.https # Release version info -maven.asf.release.deploy.version=9.0.67 +maven.asf.release.deploy.version=9.0.68 #Where do we load the libraries from tomcat.lib.path=../../output/build/lib diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 46a09058fc..b35a5c72c4 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -104,7 +104,9 @@ They eventually become mixed with the numbered issues (i.e., numbered issues do not "pop up" wrt. others). --> - + + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r57008 - /release/tomcat/tomcat-9/v9.0.65/
Author: remm Date: Mon Sep 26 19:26:03 2022 New Revision: 57008 Log: Drop 9.0.65 Removed: release/tomcat/tomcat-9/v9.0.65/ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Status of 10.0.x
> 2022年9月26日 23:07,Rémy Maucherat 写道: > > On Mon, Sep 26, 2022 at 4:51 PM Mark Thomas wrote: >> >> Hi all, >> >> Now 10.1.x is stable, how to we want to handle 10.0.x? Than plan has >> always been that we would support 10.0.x until 10.1.x was stable. >> >> Assuming the vote passes (we need 1 more +1) then there will be a >> 10.0.26 release. Do we want that to be the last 10.0.x. release? If, >> not, how many more 10.0.x releases should there be? > > I'm not against stopping at 10.0.26 and directing people to 10.1. +1 Han > Maybe we could make a promise for critical security fixes for a period > of time ? > > Another item: there was supposed to be a 9.10 branch. But right now, > the changes are probably not significant enough and it's simply better > for everyone to keep all the work on 9.0. > >> Keep in mind that work on 11.0.x could start shortly - thread about that >> to follow. > > Ok ! > > Rémy > >> >> Mark >> >> - >> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org >> For additional commands, e-mail: dev-h...@tomcat.apache.org >> > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch main updated: Polishing TaskQueue & ThreadPoolExecutor
This is an automated email from the ASF dual-hosted git repository. lihan pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/main by this push: new 6afb00b3d5 Polishing TaskQueue & ThreadPoolExecutor 6afb00b3d5 is described below commit 6afb00b3d5c5de8b6fbb02cd1159356763fb Author: lihan AuthorDate: Tue Sep 27 11:04:44 2022 +0800 Polishing TaskQueue & ThreadPoolExecutor The ThreadPoolExecutor#setCorePoolSize no longer does queue.remainingCapacity()==0 checks on JDK7 and above, so remove the code that temporarily fakes this condition. --- java/org/apache/tomcat/util/threads/TaskQueue.java | 25 -- .../tomcat/util/threads/ThreadPoolExecutor.java| 13 --- 2 files changed, 38 deletions(-) diff --git a/java/org/apache/tomcat/util/threads/TaskQueue.java b/java/org/apache/tomcat/util/threads/TaskQueue.java index 0e7cea653e..981949975b 100644 --- a/java/org/apache/tomcat/util/threads/TaskQueue.java +++ b/java/org/apache/tomcat/util/threads/TaskQueue.java @@ -38,10 +38,6 @@ public class TaskQueue extends LinkedBlockingQueue { private transient volatile ThreadPoolExecutor parent = null; -// No need to be volatile. This is written and read in a single thread -// (when stopping a context and firing the listeners) -private int forcedRemainingCapacity = -1; - public TaskQueue() { super(); } @@ -121,25 +117,4 @@ public class TaskQueue extends LinkedBlockingQueue { } return super.take(); } - -@Override -public int remainingCapacity() { -if (forcedRemainingCapacity > DEFAULT_FORCED_REMAINING_CAPACITY) { -// ThreadPoolExecutor.setCorePoolSize checks that -// remainingCapacity==0 to allow to interrupt idle threads -// I don't see why, but this hack allows to conform to this -// "requirement" -return forcedRemainingCapacity; -} -return super.remainingCapacity(); -} - -public void setForcedRemainingCapacity(int forcedRemainingCapacity) { -this.forcedRemainingCapacity = forcedRemainingCapacity; -} - -void resetForcedRemainingCapacity() { -this.forcedRemainingCapacity = DEFAULT_FORCED_REMAINING_CAPACITY; -} - } diff --git a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java index 1a92b89ac1..c660a3ed23 100644 --- a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java +++ b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java @@ -1909,15 +1909,6 @@ public class ThreadPoolExecutor extends AbstractExecutorService { // save the current pool parameters to restore them later int savedCorePoolSize = this.getCorePoolSize(); -TaskQueue taskQueue = -getQueue() instanceof TaskQueue ? (TaskQueue) getQueue() : null; -if (taskQueue != null) { -// note by slaurent : quite oddly threadPoolExecutor.setCorePoolSize -// checks that queue.remainingCapacity()==0. I did not understand -// why, but to get the intended effect of waking up idle threads, I -// temporarily fake this condition. -taskQueue.setForcedRemainingCapacity(0); -} // setCorePoolSize(0) wakes idle threads this.setCorePoolSize(0); @@ -1926,10 +1917,6 @@ public class ThreadPoolExecutor extends AbstractExecutorService { // all threads of the pool are renewed in a limited time, something like // (threadKeepAlive + longest request time) -if (taskQueue != null) { -// ok, restore the state of the queue and pool -taskQueue.resetForcedRemainingCapacity(); -} this.setCorePoolSize(savedCorePoolSize); } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 10.0.x updated: Polishing TaskQueue & ThreadPoolExecutor
This is an automated email from the ASF dual-hosted git repository. lihan pushed a commit to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.0.x by this push: new b458f32419 Polishing TaskQueue & ThreadPoolExecutor b458f32419 is described below commit b458f32419076db2d59b05c50441ba2df501aa6e Author: lihan AuthorDate: Tue Sep 27 11:04:44 2022 +0800 Polishing TaskQueue & ThreadPoolExecutor The ThreadPoolExecutor#setCorePoolSize no longer does queue.remainingCapacity()==0 checks on JDK7 and above, so remove the code that temporarily fakes this condition. --- java/org/apache/tomcat/util/threads/TaskQueue.java | 25 -- .../tomcat/util/threads/ThreadPoolExecutor.java| 13 --- 2 files changed, 38 deletions(-) diff --git a/java/org/apache/tomcat/util/threads/TaskQueue.java b/java/org/apache/tomcat/util/threads/TaskQueue.java index 3ad5a2a587..cacb320d65 100644 --- a/java/org/apache/tomcat/util/threads/TaskQueue.java +++ b/java/org/apache/tomcat/util/threads/TaskQueue.java @@ -38,10 +38,6 @@ public class TaskQueue extends LinkedBlockingQueue { private transient volatile ThreadPoolExecutor parent = null; -// No need to be volatile. This is written and read in a single thread -// (when stopping a context and firing the listeners) -private int forcedRemainingCapacity = -1; - public TaskQueue() { super(); } @@ -145,25 +141,4 @@ public class TaskQueue extends LinkedBlockingQueue { } return super.take(); } - -@Override -public int remainingCapacity() { -if (forcedRemainingCapacity > DEFAULT_FORCED_REMAINING_CAPACITY) { -// ThreadPoolExecutor.setCorePoolSize checks that -// remainingCapacity==0 to allow to interrupt idle threads -// I don't see why, but this hack allows to conform to this -// "requirement" -return forcedRemainingCapacity; -} -return super.remainingCapacity(); -} - -public void setForcedRemainingCapacity(int forcedRemainingCapacity) { -this.forcedRemainingCapacity = forcedRemainingCapacity; -} - -void resetForcedRemainingCapacity() { -this.forcedRemainingCapacity = DEFAULT_FORCED_REMAINING_CAPACITY; -} - } diff --git a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java index d800cad534..df46be1853 100644 --- a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java +++ b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java @@ -1938,15 +1938,6 @@ public class ThreadPoolExecutor extends AbstractExecutorService { // save the current pool parameters to restore them later int savedCorePoolSize = this.getCorePoolSize(); -TaskQueue taskQueue = -getQueue() instanceof TaskQueue ? (TaskQueue) getQueue() : null; -if (taskQueue != null) { -// note by slaurent : quite oddly threadPoolExecutor.setCorePoolSize -// checks that queue.remainingCapacity()==0. I did not understand -// why, but to get the intended effect of waking up idle threads, I -// temporarily fake this condition. -taskQueue.setForcedRemainingCapacity(0); -} // setCorePoolSize(0) wakes idle threads this.setCorePoolSize(0); @@ -1955,10 +1946,6 @@ public class ThreadPoolExecutor extends AbstractExecutorService { // all threads of the pool are renewed in a limited time, something like // (threadKeepAlive + longest request time) -if (taskQueue != null) { -// ok, restore the state of the queue and pool -taskQueue.resetForcedRemainingCapacity(); -} this.setCorePoolSize(savedCorePoolSize); } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 9.0.x updated: Polishing TaskQueue & ThreadPoolExecutor
This is an automated email from the ASF dual-hosted git repository. lihan pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/9.0.x by this push: new ef7e3d48a5 Polishing TaskQueue & ThreadPoolExecutor ef7e3d48a5 is described below commit ef7e3d48a58eb0bb7dd0693179e674ef1aab6772 Author: lihan AuthorDate: Tue Sep 27 11:04:44 2022 +0800 Polishing TaskQueue & ThreadPoolExecutor The ThreadPoolExecutor#setCorePoolSize no longer does queue.remainingCapacity()==0 checks on JDK7 and above, so remove the code that temporarily fakes this condition. --- java/org/apache/tomcat/util/threads/TaskQueue.java | 25 -- .../tomcat/util/threads/ThreadPoolExecutor.java| 13 --- 2 files changed, 38 deletions(-) diff --git a/java/org/apache/tomcat/util/threads/TaskQueue.java b/java/org/apache/tomcat/util/threads/TaskQueue.java index 3ad5a2a587..cacb320d65 100644 --- a/java/org/apache/tomcat/util/threads/TaskQueue.java +++ b/java/org/apache/tomcat/util/threads/TaskQueue.java @@ -38,10 +38,6 @@ public class TaskQueue extends LinkedBlockingQueue { private transient volatile ThreadPoolExecutor parent = null; -// No need to be volatile. This is written and read in a single thread -// (when stopping a context and firing the listeners) -private int forcedRemainingCapacity = -1; - public TaskQueue() { super(); } @@ -145,25 +141,4 @@ public class TaskQueue extends LinkedBlockingQueue { } return super.take(); } - -@Override -public int remainingCapacity() { -if (forcedRemainingCapacity > DEFAULT_FORCED_REMAINING_CAPACITY) { -// ThreadPoolExecutor.setCorePoolSize checks that -// remainingCapacity==0 to allow to interrupt idle threads -// I don't see why, but this hack allows to conform to this -// "requirement" -return forcedRemainingCapacity; -} -return super.remainingCapacity(); -} - -public void setForcedRemainingCapacity(int forcedRemainingCapacity) { -this.forcedRemainingCapacity = forcedRemainingCapacity; -} - -void resetForcedRemainingCapacity() { -this.forcedRemainingCapacity = DEFAULT_FORCED_REMAINING_CAPACITY; -} - } diff --git a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java index d800cad534..df46be1853 100644 --- a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java +++ b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java @@ -1938,15 +1938,6 @@ public class ThreadPoolExecutor extends AbstractExecutorService { // save the current pool parameters to restore them later int savedCorePoolSize = this.getCorePoolSize(); -TaskQueue taskQueue = -getQueue() instanceof TaskQueue ? (TaskQueue) getQueue() : null; -if (taskQueue != null) { -// note by slaurent : quite oddly threadPoolExecutor.setCorePoolSize -// checks that queue.remainingCapacity()==0. I did not understand -// why, but to get the intended effect of waking up idle threads, I -// temporarily fake this condition. -taskQueue.setForcedRemainingCapacity(0); -} // setCorePoolSize(0) wakes idle threads this.setCorePoolSize(0); @@ -1955,10 +1946,6 @@ public class ThreadPoolExecutor extends AbstractExecutorService { // all threads of the pool are renewed in a limited time, something like // (threadKeepAlive + longest request time) -if (taskQueue != null) { -// ok, restore the state of the queue and pool -taskQueue.resetForcedRemainingCapacity(); -} this.setCorePoolSize(savedCorePoolSize); } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 8.5.x updated: Polishing TaskQueue & ThreadPoolExecutor
This is an automated email from the ASF dual-hosted git repository. lihan pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/8.5.x by this push: new 4aeddee4cf Polishing TaskQueue & ThreadPoolExecutor 4aeddee4cf is described below commit 4aeddee4cf9829ac313f68c7656eff80c26cee0c Author: lihan AuthorDate: Tue Sep 27 11:04:44 2022 +0800 Polishing TaskQueue & ThreadPoolExecutor The ThreadPoolExecutor#setCorePoolSize no longer does queue.remainingCapacity()==0 checks on JDK7 and above, so remove the code that temporarily fakes this condition. --- java/org/apache/tomcat/util/threads/TaskQueue.java | 25 -- .../tomcat/util/threads/ThreadPoolExecutor.java| 13 --- 2 files changed, 38 deletions(-) diff --git a/java/org/apache/tomcat/util/threads/TaskQueue.java b/java/org/apache/tomcat/util/threads/TaskQueue.java index 3ad5a2a587..cacb320d65 100644 --- a/java/org/apache/tomcat/util/threads/TaskQueue.java +++ b/java/org/apache/tomcat/util/threads/TaskQueue.java @@ -38,10 +38,6 @@ public class TaskQueue extends LinkedBlockingQueue { private transient volatile ThreadPoolExecutor parent = null; -// No need to be volatile. This is written and read in a single thread -// (when stopping a context and firing the listeners) -private int forcedRemainingCapacity = -1; - public TaskQueue() { super(); } @@ -145,25 +141,4 @@ public class TaskQueue extends LinkedBlockingQueue { } return super.take(); } - -@Override -public int remainingCapacity() { -if (forcedRemainingCapacity > DEFAULT_FORCED_REMAINING_CAPACITY) { -// ThreadPoolExecutor.setCorePoolSize checks that -// remainingCapacity==0 to allow to interrupt idle threads -// I don't see why, but this hack allows to conform to this -// "requirement" -return forcedRemainingCapacity; -} -return super.remainingCapacity(); -} - -public void setForcedRemainingCapacity(int forcedRemainingCapacity) { -this.forcedRemainingCapacity = forcedRemainingCapacity; -} - -void resetForcedRemainingCapacity() { -this.forcedRemainingCapacity = DEFAULT_FORCED_REMAINING_CAPACITY; -} - } diff --git a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java index d800cad534..df46be1853 100644 --- a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java +++ b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java @@ -1938,15 +1938,6 @@ public class ThreadPoolExecutor extends AbstractExecutorService { // save the current pool parameters to restore them later int savedCorePoolSize = this.getCorePoolSize(); -TaskQueue taskQueue = -getQueue() instanceof TaskQueue ? (TaskQueue) getQueue() : null; -if (taskQueue != null) { -// note by slaurent : quite oddly threadPoolExecutor.setCorePoolSize -// checks that queue.remainingCapacity()==0. I did not understand -// why, but to get the intended effect of waking up idle threads, I -// temporarily fake this condition. -taskQueue.setForcedRemainingCapacity(0); -} // setCorePoolSize(0) wakes idle threads this.setCorePoolSize(0); @@ -1955,10 +1946,6 @@ public class ThreadPoolExecutor extends AbstractExecutorService { // all threads of the pool are renewed in a limited time, something like // (threadKeepAlive + longest request time) -if (taskQueue != null) { -// ok, restore the state of the queue and pool -taskQueue.resetForcedRemainingCapacity(); -} this.setCorePoolSize(savedCorePoolSize); } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch main updated: Remove meaningless code.
This is an automated email from the ASF dual-hosted git repository. lihan pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/main by this push: new 42a8beda32 Remove meaningless code. 42a8beda32 is described below commit 42a8beda32f0c026f6bb3026c3ef68d67528bcbb Author: lihan AuthorDate: Tue Sep 27 11:25:24 2022 +0800 Remove meaningless code. --- java/org/apache/tomcat/util/threads/TaskQueue.java | 1 - 1 file changed, 1 deletion(-) diff --git a/java/org/apache/tomcat/util/threads/TaskQueue.java b/java/org/apache/tomcat/util/threads/TaskQueue.java index 981949975b..3ddd277ce4 100644 --- a/java/org/apache/tomcat/util/threads/TaskQueue.java +++ b/java/org/apache/tomcat/util/threads/TaskQueue.java @@ -34,7 +34,6 @@ public class TaskQueue extends LinkedBlockingQueue { private static final long serialVersionUID = 1L; protected static final StringManager sm = StringManager.getManager(TaskQueue.class); -private static final int DEFAULT_FORCED_REMAINING_CAPACITY = -1; private transient volatile ThreadPoolExecutor parent = null; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 10.0.x updated: Remove meaningless code.
This is an automated email from the ASF dual-hosted git repository. lihan pushed a commit to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.0.x by this push: new 667e6cf509 Remove meaningless code. 667e6cf509 is described below commit 667e6cf509668d2b6d2c384187b4ae660ce83951 Author: lihan AuthorDate: Tue Sep 27 11:25:24 2022 +0800 Remove meaningless code. --- java/org/apache/tomcat/util/threads/TaskQueue.java | 1 - 1 file changed, 1 deletion(-) diff --git a/java/org/apache/tomcat/util/threads/TaskQueue.java b/java/org/apache/tomcat/util/threads/TaskQueue.java index cacb320d65..6b250ee9d3 100644 --- a/java/org/apache/tomcat/util/threads/TaskQueue.java +++ b/java/org/apache/tomcat/util/threads/TaskQueue.java @@ -34,7 +34,6 @@ public class TaskQueue extends LinkedBlockingQueue { private static final long serialVersionUID = 1L; protected static final StringManager sm = StringManager.getManager(TaskQueue.class); -private static final int DEFAULT_FORCED_REMAINING_CAPACITY = -1; private transient volatile ThreadPoolExecutor parent = null; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 9.0.x updated: Remove meaningless code.
This is an automated email from the ASF dual-hosted git repository. lihan pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/9.0.x by this push: new 2558c1bcae Remove meaningless code. 2558c1bcae is described below commit 2558c1bcae768c9b1b7607adc6a97e43569cf9dd Author: lihan AuthorDate: Tue Sep 27 11:25:24 2022 +0800 Remove meaningless code. --- java/org/apache/tomcat/util/threads/TaskQueue.java | 1 - 1 file changed, 1 deletion(-) diff --git a/java/org/apache/tomcat/util/threads/TaskQueue.java b/java/org/apache/tomcat/util/threads/TaskQueue.java index cacb320d65..6b250ee9d3 100644 --- a/java/org/apache/tomcat/util/threads/TaskQueue.java +++ b/java/org/apache/tomcat/util/threads/TaskQueue.java @@ -34,7 +34,6 @@ public class TaskQueue extends LinkedBlockingQueue { private static final long serialVersionUID = 1L; protected static final StringManager sm = StringManager.getManager(TaskQueue.class); -private static final int DEFAULT_FORCED_REMAINING_CAPACITY = -1; private transient volatile ThreadPoolExecutor parent = null; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 8.5.x updated: Remove meaningless code.
This is an automated email from the ASF dual-hosted git repository. lihan pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/8.5.x by this push: new d22be4e016 Remove meaningless code. d22be4e016 is described below commit d22be4e016d1afb715a6576297f9f04b11b33380 Author: lihan AuthorDate: Tue Sep 27 11:25:24 2022 +0800 Remove meaningless code. --- java/org/apache/tomcat/util/threads/TaskQueue.java | 1 - 1 file changed, 1 deletion(-) diff --git a/java/org/apache/tomcat/util/threads/TaskQueue.java b/java/org/apache/tomcat/util/threads/TaskQueue.java index cacb320d65..6b250ee9d3 100644 --- a/java/org/apache/tomcat/util/threads/TaskQueue.java +++ b/java/org/apache/tomcat/util/threads/TaskQueue.java @@ -34,7 +34,6 @@ public class TaskQueue extends LinkedBlockingQueue { private static final long serialVersionUID = 1L; protected static final StringManager sm = StringManager.getManager(TaskQueue.class); -private static final int DEFAULT_FORCED_REMAINING_CAPACITY = -1; private transient volatile ThreadPoolExecutor parent = null; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 66277] New: The taglib file cannot be found with version 9.0.67
https://bz.apache.org/bugzilla/show_bug.cgi?id=66277 Bug ID: 66277 Summary: The taglib file cannot be found with version 9.0.67 Product: Tomcat 9 Version: 9.0.67 Hardware: PC Status: NEW Severity: normal Priority: P2 Component: Examples Assignee: dev@tomcat.apache.org Reporter: nanhao_...@126.com Target Milestone: - Created attachment 38393 --> https://bz.apache.org/bugzilla/attachment.cgi?id=38393&action=edit codes The file cannot be found with version 9.0.67, but it is possible to find it with version 9.0.65,Runs in a docker environment.It is normal to use in version 9.0.65 -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org