Re: [VOTE] Release Apache Tomcat 8.5.97
Mark, On 12/8/23 14:47, Mark Thomas wrote: On 07/12/2023 18:16, Christopher Schultz wrote: The proposed 8.5.97 release is: [ ] Broken - do not release [X] Stable - go ahead and release as 8.5.97 (stable) Unit tests on Linux, Windows, MacOS M1 and MacOS Intel Build is cross-platform repeatable apart from - The fulldocs package - This is due to a Java bug https://bugs.openjdk.org/browse/JDK-8306980 I wonder if we could work around this bug by simply copying the original files from JAVA_HOME into the javadoc directory. Is it worth it? I really like the idea of being able to say "yes, it's reproducible without any foolishness". This seems like foolishness to me. -chris - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch main updated: Fix issues with verify-release.
This is an automated email from the ASF dual-hosted git repository. schultz 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 4af68277fb Fix issues with verify-release. 4af68277fb is described below commit 4af68277fbfcd457ff0af3e0caae76679e860de7 Author: schultz AuthorDate: Fri Dec 8 13:17:04 2023 -0800 Fix issues with verify-release. Fix hash-compare to use the correct file path. Fix ant version-check. --- build.xml | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/build.xml b/build.xml index dd015d12f2..228ffd8dab 100644 --- a/build.xml +++ b/build.xml @@ -4082,14 +4082,16 @@ Unable to locate release hash for @{basefile} - + Signature MATCH for @{src-or-bin}/@{basefile} + -Signature mismatch for @{basefile}: +Signature mismatch for @{src-or-bin}/@{basefile}: @@ -4218,7 +4220,7 @@ All (important) signatures are verified; the build appears to be reproducible. - + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 11.0.0-M15
Mark, On 12/7/23 10:36, Mark Thomas wrote: The proposed Apache Tomcat 11.0.0-M15 release is now available for voting. Apache Tomcat 11.0.0-M15 is a milestone release of the 11.0.x branch and has been made to provide users with early access to the new features in Apache Tomcat 11.0.x so that they may provide feedback. The notable changes compared to the previous milestone include: - Background processes for a Container no longer execute while lifecycle operations are in progress for that Container. - Align with the latest additions and changes from the Servlet 6.1 specification. - Update the sample.war included in the documentation to use the Jakarta EE APIs. For full details, see the change log: https://nightlies.apache.org/tomcat/tomcat-11.0.x/docs/changelog.html Applications that run on Tomcat 9 and earlier will not run on Tomcat 11 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. Applications using deprecated APIs may require further changes. It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-11/v11.0.0-M15/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1468 The tag is: https://github.com/apache/tomcat/tree/11.0.0-M15 a22029c7147b83e4fbced16add744903245d1147 The proposed 11.0.0-M15 release is: [ ] -1 Broken - do not release [ ] +1 Alpha - go ahead and release as 11.0.0-M15 +0 for now I have only built the release and attempted to verify the build is reproducible. There is a bug in the verify-release ant target, which is my fault. After fixing that, it is only reporting actual failures of hash mismatches. I'm going to take a look at them to see what the issues are. Here is a quick reacp of the reproducibility report: [...] -require-release-toolchain-versions: [echo] Local toolchain versions match release toolchain (Java 22-ea+26-2112, Ant 1.10.13). [...] [echo] [echo] Signature mismatch for apache-tomcat-11.0.0-M15-deployer.tar.gz: [echo] [echo] 9ffb9b14a868478c3b43baa2cbe2f050035666295a6835ea19e79339e1ce58aa97a723d32827422c190b243ff9d58eda280fdfea63fdff918778849618989f9b *apache-tomcat-11.0.0-M15-deployer.tar.gz [echo] 7f7d5cd5412d742d3ed3b7c060f798219f7f0005b87da5fcea71e0a01116616ce51212c6334e9f26316f619dbc10825d4a36ce0813669e5d321c9d5042d99b9d *apache-tomcat-11.0.0-M15-deployer.tar.gz [echo] [echo] Signature mismatch for apache-tomcat-11.0.0-M15-deployer.zip: [echo] [echo] 258ac2a8a8f4246351ac971ff5a23b7d6153f91689e7d92e1151d464922d6d59eae3887ad38e913d0617bb9e6a2da1c539451fe0e0cbc6b846492254a2cb0426 *apache-tomcat-11.0.0-M15-deployer.zip [echo] a5a2d4ab26e6cc906d1c4bf7c7ef78e0f4b7a67f75e334fd0efd47c8e672abd803f55055e424b88ba7c2aca64730f85817f3bfb7f6221796d90af132b97cd431 *apache-tomcat-11.0.0-M15-deployer.zip [echo] [echo] Signature mismatch for apache-tomcat-11.0.0-M15-fulldocs.tar.gz: [echo] [echo] 7d2c76aa7b87e0f663ebe42ce5324a6b44054c01a52ded6adeeba412d406e496c5ade48d94ed3e76df5401f1f15f0d2d89302020825bdd01654e1d45d0abacaf *apache-tomcat-11.0.0-M15-fulldocs.tar.gz [echo] 0224a4931d006fd99455e8e1c47be50379b843fea462aba6e81425020752f421d223e2e2c124aea643c323ad2552d9c9ba299acf94b686f608030a45b909f910 *apache-tomcat-11.0.0-M15-fulldocs.tar.gz [echo] [echo] Signature mismatch for apache-tomcat-11.0.0-M15-windows-x64.zip: [echo] [echo] d4eccc5b1accf9bc59c36fecf665247df3efed38eb5d62bb82cc430042ae2fc77d8134bdab0547185149dcff231554a26e045528cf6b75e359256d475485 *apache-tomcat-11.0.0-M15-windows-x64.zip [echo] 9fe74131b163a05f87c619c5ca254ef18ac252f4145192c3402a19e820fd1f73a899d1f179b3fc2d360f0e7faa08a6c43da929dbb4cfde206b8ddf81e38f4cf8 *apache-tomcat-11.0.0-M15-windows-x64.zip [echo] [echo] Signature MATCH for apache-tomcat-11.0.0-M15-windows-x86.zip [echo] [echo] [echo] Signature mismatch for apache-tomcat-11.0.0-M15.exe: [echo] [echo] a3716015fd6e8631dd2fdc84f0f09a52e62b04f99328b500632a7f9f045a42bf8197ee1c80ac52edb89f292224fc92d02f859bdd336833cb38d5f7aea728d42d *apache-tomcat-11.0.0-M15.exe [echo] b2286ad2aaa37894913f0c8242e17797f35fe22ea1ce40b0fe6493aba62da2a2106b2e676dad8b696aa1e3e32a57b645cc85b040bb120891eb8392f67f192a3c *apache-tomcat-11.0.0-M15.exe [echo] [echo] Signature mismatch for apache-tomcat-11.0.0-M15.tar.gz: [echo] [echo] 2b8a3750dcc5c93fa7de7ac7068e2c68eb0b0fa3e20f98c1b81ef4401525cea10b0a8f0fe5d6706f55148fcd568a6aeb6f2c51e27142aca6058c94b3187e0b58 *apache-tomcat-11.0.0-M15.tar.gz [echo] e653908a4f2695edd0222497cafb60a327989e7982bf4f531380e355bde17bc002a3cfd2dd58db5142eacbaf66a260db7dfa968c29a2365528cfe0cba4b74c54 *apache-tomcat-11.0.0-M15.tar.gz [echo] [echo] Signature
Re: [VOTE] Release Apache Tomcat 8.5.97
On 07/12/2023 18:16, Christopher Schultz wrote: The proposed 8.5.97 release is: [ ] Broken - do not release [X] Stable - go ahead and release as 8.5.97 (stable) Unit tests on Linux, Windows, MacOS M1 and MacOS Intel Build is cross-platform repeatable apart from - The fulldocs package - This is due to a Java bug https://bugs.openjdk.org/browse/JDK-8306980 Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Annoyances with Eclipse JDT compiler
On 08/12/2023 18:46, Christopher Schultz wrote: All, Tomcat has to be built, tested, and deployed in a variety of environments. Specifically, in a variety of Java Runtime Environments. I'm finding that my 8.5.x testing and execution requires some weird backflips due to JDT versioning. Would be make any sense to ship Tomcat with several versions of the jdt compiler and then load the one most-appropriate for the JRE at runtime? Maybe this really only affects me in my capacity as release-manager and tester (and user!) of 8.5.x, but I suspect it affects others as well. It appears not. At least so far. 9.0.x builds and tests happily with Java 22 EA. The error messages make no sense whatsoever. For example, "NoSuchClassDefFoundError: java.lang.System" is a great one. I know the problem is that the jdt is inappropriate for that version of the JRE, but ... would most users be able to figure that out? I don't think it would be that onerous to auto-detect at runtime and install an appropriate jdt, though I haven't even looked at what versions are available, what their target JREs are, etc. I think it would be helpful to downstream users if we picked the right jdt for them at runtime. WDYT? I think it is a good idea, I'm just not sure it is worth the effort for a version that will be EOL in just under 4 months. Any work we do is likely to be useful for later versions. They are probably going to hit the same problem sooner or later. Happy to discuss design options but I don't think implementation will be a priority for me at the moment. 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.84
On 07/12/2023 19:44, Rémy Maucherat wrote: The proposed 9.0.84 release is: [ ] -1, Broken - do not release [X] +1, Stable - go ahead and release as 9.0.84 Unit tests on Linux, Windows, MacOS M1 and MacOS Intel Build is cross-platform repeatable apart from - The fulldocs package - This is due to a Java bug https://bugs.openjdk.org/browse/JDK-8306980 Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[OT] Re: [VOTE] Release Apache Tomcat 10.1.17
Mark, On 12/8/23 13:27, Mark Thomas wrote: On 08/12/2023 14:41, Christopher Schultz wrote: Mark, On 12/8/23 7:34 AM, Mark Thomas wrote: On 08/12/2023 03:17, Christopher Schultz wrote: The proposed 10.1.17 release is: [ ] Broken - do not release [X] Stable - go ahead and release as 10.1.17 Unit tests on Linux, Windows, MacOS M1 and MacOS Intel Build is cross-platform repeatable apart from - The fulldocs package - This is due to a Java bug https://bugs.openjdk.org/browse/JDK-8306980 - The source distributions - Looks like a Tomcat bug in the build script. There is a file named building contained the text "building" in the root of the source tree. Line endings vary based on build platform hence the cross-platform repeatability test fails Ugh. This is my fault. Because my Windows VM kills itself every 30 minutes, I created that file and arranged to have it deleted after the build was complete, just in case it shut down between the time the build completed and I was able to grab the artifacts. I've had Windows die in the middle of a build before. :( There is no bug in the build script; this is a bug in the release manager ;) This is a Windows license limitation isn't it? If so, I can highly recommend the MSDN subscription available at no cost to all ASF committers that need it. I use it all the time. I've never received a response when attempting to get an ASF-committer MSDN license. But I really need to do this. If it is the virtualization software then I have found license keys for the latest version of VMware workstation being sold very cheaply by some (I hasten to add genuine) resellers. (Full disclosure, I work for VMware) I'm using VirtualBox, so no license issues, here. -chris - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Annoyances with Eclipse JDT compiler
All, Tomcat has to be built, tested, and deployed in a variety of environments. Specifically, in a variety of Java Runtime Environments. I'm finding that my 8.5.x testing and execution requires some weird backflips due to JDT versioning. Would be make any sense to ship Tomcat with several versions of the jdt compiler and then load the one most-appropriate for the JRE at runtime? Maybe this really only affects me in my capacity as release-manager and tester (and user!) of 8.5.x, but I suspect it affects others as well. The error messages make no sense whatsoever. For example, "NoSuchClassDefFoundError: java.lang.System" is a great one. I know the problem is that the jdt is inappropriate for that version of the JRE, but ... would most users be able to figure that out? I don't think it would be that onerous to auto-detect at runtime and install an appropriate jdt, though I haven't even looked at what versions are available, what their target JREs are, etc. I think it would be helpful to downstream users if we picked the right jdt for them at runtime. WDYT? -chris - 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.17
On 08/12/2023 14:41, Christopher Schultz wrote: Mark, On 12/8/23 7:34 AM, Mark Thomas wrote: On 08/12/2023 03:17, Christopher Schultz wrote: The proposed 10.1.17 release is: [ ] Broken - do not release [X] Stable - go ahead and release as 10.1.17 Unit tests on Linux, Windows, MacOS M1 and MacOS Intel Build is cross-platform repeatable apart from - The fulldocs package - This is due to a Java bug https://bugs.openjdk.org/browse/JDK-8306980 - The source distributions - Looks like a Tomcat bug in the build script. There is a file named building contained the text "building" in the root of the source tree. Line endings vary based on build platform hence the cross-platform repeatability test fails Ugh. This is my fault. Because my Windows VM kills itself every 30 minutes, I created that file and arranged to have it deleted after the build was complete, just in case it shut down between the time the build completed and I was able to grab the artifacts. I've had Windows die in the middle of a build before. :( There is no bug in the build script; this is a bug in the release manager ;) This is a Windows license limitation isn't it? If so, I can highly recommend the MSDN subscription available at no cost to all ASF committers that need it. I use it all the time. If it is the virtualization software then I have found license keys for the latest version of VMware workstation being sold very cheaply by some (I hasten to add genuine) resellers. (Full disclosure, I work for VMware) 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.1.17
On 12/8/23 04:17, Christopher Schultz wrote: [X] Stable - go ahead and release as 10.1.17 Tested on fedora 38. -- Cheers Jean-Frederic - 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.84
On 12/7/23 20:44, Rémy Maucherat wrote: [X] +1, Stable - go ahead and release as 9.0.84 Tested on fedora fc38 with tc-native 1.2.39. -- Cheers Jean-Frederic - 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.17
All, On 12/7/23 10:17 PM, Christopher Schultz wrote: The proposed Apache Tomcat 10.1.17 release is now available for voting. The notable changes compared to 10.1.16 are: - Background processes for a Container no longer execute while lifecycle operations are in progress for that Container. - Correct unintended escaping of XML in some WebDAV responses. - Use a 408 status code if a read timeout occurs during HTTP HTTP request processing instead of an HTTP 400 status. For full details, see the change log: https://nightlies.apache.org/tomcat/tomcat-10.1.x/docs/changelog.html 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. It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-10/v10.1.17/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1473 The tag is: https://github.com/apache/tomcat/tree/10.1.17 32e30a4648cdd24245ef4a0d58beb6ada1c41844 The proposed 10.1.17 release is: [ ] Broken - do not release [ ] Stable - go ahead and release as 10.1.17 +1 for stable release. Build is clean and unit tests all pass on MacOS x86-84. Details: * Environment * Java (build): openjdk version "21.0.1" 2023-10-17 LTS OpenJDK Runtime Environment Temurin-21.0.1+12 (build 21.0.1+12-LTS) OpenJDK 64-Bit Server VM Temurin-21.0.1+12 (build 21.0.1+12-LTS, mixed mode) * Java (test): openjdk version "21.0.1" 2023-10-17 LTS OpenJDK Runtime Environment Temurin-21.0.1+12 (build 21.0.1+12-LTS) OpenJDK 64-Bit Server VM Temurin-21.0.1+12 (build 21.0.1+12-LTS, mixed mode) * OS: Darwin 21.6.0 x86_64 * cc: Apple clang version 12.0.0 (clang-1200.0.31.1) * make: GNU Make 3.81 * OpenSSL: OpenSSL 3.1.4 24 Oct 2023 (Library: OpenSSL 3.1.4 24 Oct 2023) * APR: 1.7.4 * * Valid SHA-512 signature for apache-tomcat-10.1.17.zip * Valid GPG signature for apache-tomcat-10.1.17.zip * Valid SHA-512 signature for apache-tomcat-10.1.17.tar.gz * Valid GPG signature for apache-tomcat-10.1.17.tar.gz * Valid SHA-512 signature for apache-tomcat-10.1.17.exe * Valid GPG signature for apache-tomcat-10.1.17.exe * Valid SHA512 signature for apache-tomcat-10.1.17-src.zip * Valid GPG signature for apache-tomcat-10.1.17-src.zip * Valid SHA512 signature for apache-tomcat-10.1.17-src.tar.gz * Valid GPG signature for apache-tomcat-10.1.17-src.tar.gz * * Binary Zip and tarball: Same * Source Zip and tarball: Same * * Building dependencies returned: 0 * tcnative builds cleanly * Tomcat builds cleanly * Junit Tests: PASSED -chris - 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.17
Mark, On 12/8/23 7:34 AM, Mark Thomas wrote: On 08/12/2023 03:17, Christopher Schultz wrote: The proposed 10.1.17 release is: [ ] Broken - do not release [X] Stable - go ahead and release as 10.1.17 Unit tests on Linux, Windows, MacOS M1 and MacOS Intel Build is cross-platform repeatable apart from - The fulldocs package - This is due to a Java bug https://bugs.openjdk.org/browse/JDK-8306980 - The source distributions - Looks like a Tomcat bug in the build script. There is a file named building contained the text "building" in the root of the source tree. Line endings vary based on build platform hence the cross-platform repeatability test fails Ugh. This is my fault. Because my Windows VM kills itself every 30 minutes, I created that file and arranged to have it deleted after the build was complete, just in case it shut down between the time the build completed and I was able to grab the artifacts. I've had Windows die in the middle of a build before. :( There is no bug in the build script; this is a bug in the release manager ;) -chris - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 8.5.97
All, On 12/7/23 13:16, Christopher Schultz wrote: The proposed Apache Tomcat 8.5.97 release is now available for voting. The notable changes compared to 8.5.96 are: - Background processes for a Container no longer execute while lifecycle operations are in progress for that Container. - Correct unintended escaping of XML in some WebDAV responses. - Use a 408 status code if a read timeout occurs during HTTP HTTP request processing instead of an HTTP 400 status. Along with lots of other bug fixes and improvements. For full details, see the changelog: https://nightlies.apache.org/tomcat/tomcat-8.5.x/docs/changelog.html It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.5.97/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1469 The tag is: https://github.com/apache/tomcat/tree/8.5.97/ 85bbf20a5021f5838f7e41e5b2e028b3303d232b The proposed 8.5.97 release is: [ ] Broken - do not release [ ] Stable - go ahead and release as 8.5.97 (stable) +1 for stable release. Works on a plain servlet-based web application in a development environment, running on Java 11 on Linux x85-64. Note that this environment is different than the one I used for testing below. Unit tests pass except for 1 related Eclipse JDT, which I'm going to blame on the version of the compiler relative to my JRE. Details: * Environment * Java (build): openjdk version "17.0.9" 2023-10-17 OpenJDK Runtime Environment (build 17.0.9+9-Debian-1deb12u1) OpenJDK 64-Bit Server VM (build 17.0.9+9-Debian-1deb12u1, mixed mode, sharing) * Java (test): openjdk version "17.0.9" 2023-10-17 OpenJDK Runtime Environment (build 17.0.9+9-Debian-1deb12u1) OpenJDK 64-Bit Server VM (build 17.0.9+9-Debian-1deb12u1, mixed mode, sharing) * OS: Linux 6.1.0-12-amd64 x86_64 * cc: cc (Debian 12.2.0-14) 12.2.0 * make: GNU Make 4.3 * OpenSSL: OpenSSL 1.1.1 11 Sep 2018 * APR: 1.7.2 * * Valid SHA-512 signature for apache-tomcat-8.5.97.zip * Valid GPG signature for apache-tomcat-8.5.97.zip * Valid SHA-512 signature for apache-tomcat-8.5.97.tar.gz * Valid GPG signature for apache-tomcat-8.5.97.tar.gz * Valid SHA-512 signature for apache-tomcat-8.5.97.exe * Valid GPG signature for apache-tomcat-8.5.97.exe * Valid Windows Digital Signature for apache-tomcat-8.5.97.exe * Valid SHA512 signature for apache-tomcat-8.5.97-src.zip * Valid GPG signature for apache-tomcat-8.5.97-src.zip * Valid SHA512 signature for apache-tomcat-8.5.97-src.tar.gz * Valid GPG signature for apache-tomcat-8.5.97-src.tar.gz * * Binary Zip and tarball: Same * Source Zip and tarball: Same * * Building dependencies returned: 0 * tcnative builds cleanly * Tomcat builds cleanly * Junit Tests: FAILED * * Tests that failed: * org.apache.catalina.mapper.TestMapperWebapps.APR.txt * org.apache.catalina.mapper.TestMapperWebapps.NIO.txt * org.apache.catalina.mapper.TestMapperWebapps.NIO2.txt - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch main updated: Document Java 22 version better
This is an automated email from the ASF dual-hosted git repository. remm 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 8b6566613e Document Java 22 version better 8b6566613e is described below commit 8b6566613e68d882daf7c9d577cb04228532314e Author: remm AuthorDate: Fri Dec 8 15:22:55 2023 +0100 Document Java 22 version better --- webapps/docs/changelog.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 73b9aaca03..89f8534c98 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -284,7 +284,7 @@ OpenSSL support may be enabled by adding the org.apache.catalina.core.OpenSSLLifecycleListener listener on the Server element when using Java 22 -or later. (remm) +(starting with preview build 20) or later. (remm) 67628: Clarify how the ciphers attribute of the - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [tomcat] branch main updated: Add message when not using Java 22 for release
On Fri, Dec 8, 2023 at 3:16 PM Rainer Jung wrote: > > Am 08.12.23 um 15:04 schrieb Rémy Maucherat: > > On Fri, Dec 8, 2023 at 3:01 PM Rainer Jung wrote: > >> > >> Hi Remy, > >> > >> I tried to build TC 11 with Java 22, but cuirrenttly it fails with > >> errors like: > >> > >> [javac] > >> .../java/org/apache/tomcat/util/openssl/openssl_h_Macros.java:469: > >> error: MemorySegment is a preview API and is disabled by default. > >> [javac] public static void OCSP_RESPONSE_free(MemorySegment a) { > >> [javac] ^ > >> [javac] (use --enable-preview to enable preview APIs) > >> > >> The following classes fail like that: > >> > >> .../java/org/apache/tomcat/util/net/openssl/panama/OpenSSLContext.java > >> .../java/org/apache/tomcat/util/net/openssl/panama/OpenSSLSessionContext.java > >> .../java/org/apache/tomcat/util/net/openssl/panama/OpenSSLSessionStats.java > >> .../java/org/apache/tomcat/util/openssl/openssl_h_Compatibility.java > >> .../java/org/apache/tomcat/util/openssl/openssl_h.java > >> .../java/org/apache/tomcat/util/openssl/openssl_h_Macros.java > >> > >> I didn't see anything prepared for "--enable-preview" in our ant scripts. > > > > What does java -version says ? > > > > The FFM API is no longer a preview API in the up to date Java 22 > > builds, so the flag is counter productive. > > Downloads are here: https://jdk.java.net/22/ > > > > Rémy > > Thanks Remy. I am at EA 19, current is EA 26. I guess it was included > around 24 or 25. Unfortunately it is not mentioned in the release notes. > Will try next time with the current EA build of jdk 22. b19 does not have it, but b20+ does. Bad luck. I didn't really document it since to be honest I didn't expect anyone to stay on early preview builds. Rémy > > >> Best regards, > >> > >> Rainer > >> > >> Am 24.10.23 um 11:16 schrieb r...@apache.org: > >>> This is an automated email from the ASF dual-hosted git repository. > >>> > >>> remm 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 1185ad1154 Add message when not using Java 22 for release > >>> 1185ad1154 is described below > >>> > >>> commit 1185ad1154cdbb8003efd29eeb1ccf95c87bdc56 > >>> Author: remm > >>> AuthorDate: Tue Oct 24 11:15:44 2023 +0200 > >>> > >>> Add message when not using Java 22 for release > >>> > >>> Filter out packages with FFM API from javadoc. > >>> --- > >>>build.xml | 6 ++ > >>>1 file changed, 6 insertions(+) > >>> > >>> diff --git a/build.xml b/build.xml > >>> index 12c720846e..e3cca8f964 100644 > >>> --- a/build.xml > >>> +++ b/build.xml > >>> @@ -2366,6 +2366,8 @@ > >>> > >>> > >>> > >>> + > >>> + > >>> > >>> > >>> >>> dir="${tomcat.dist}/src/modules/jdbc-pool/src/main/java"/> > >>> @@ -2654,6 +2656,10 @@ skip.installer property in build.properties" /> > >>> > >>> > >>>--> > >>> + > >>> + > >>> + > >>> + JAVA VERSION 22 OR NEWER IS > >>> REQUIRED FOR RELEASE > >>> > >>> > >>> > > - > 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
Re: [tomcat] branch main updated: Add message when not using Java 22 for release
Am 08.12.23 um 15:04 schrieb Rémy Maucherat: On Fri, Dec 8, 2023 at 3:01 PM Rainer Jung wrote: Hi Remy, I tried to build TC 11 with Java 22, but cuirrenttly it fails with errors like: [javac] .../java/org/apache/tomcat/util/openssl/openssl_h_Macros.java:469: error: MemorySegment is a preview API and is disabled by default. [javac] public static void OCSP_RESPONSE_free(MemorySegment a) { [javac] ^ [javac] (use --enable-preview to enable preview APIs) The following classes fail like that: .../java/org/apache/tomcat/util/net/openssl/panama/OpenSSLContext.java .../java/org/apache/tomcat/util/net/openssl/panama/OpenSSLSessionContext.java .../java/org/apache/tomcat/util/net/openssl/panama/OpenSSLSessionStats.java .../java/org/apache/tomcat/util/openssl/openssl_h_Compatibility.java .../java/org/apache/tomcat/util/openssl/openssl_h.java .../java/org/apache/tomcat/util/openssl/openssl_h_Macros.java I didn't see anything prepared for "--enable-preview" in our ant scripts. What does java -version says ? The FFM API is no longer a preview API in the up to date Java 22 builds, so the flag is counter productive. Downloads are here: https://jdk.java.net/22/ Rémy Thanks Remy. I am at EA 19, current is EA 26. I guess it was included around 24 or 25. Unfortunately it is not mentioned in the release notes. Will try next time with the current EA build of jdk 22. Best regards, Rainer Am 24.10.23 um 11:16 schrieb r...@apache.org: This is an automated email from the ASF dual-hosted git repository. remm 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 1185ad1154 Add message when not using Java 22 for release 1185ad1154 is described below commit 1185ad1154cdbb8003efd29eeb1ccf95c87bdc56 Author: remm AuthorDate: Tue Oct 24 11:15:44 2023 +0200 Add message when not using Java 22 for release Filter out packages with FFM API from javadoc. --- build.xml | 6 ++ 1 file changed, 6 insertions(+) diff --git a/build.xml b/build.xml index 12c720846e..e3cca8f964 100644 --- a/build.xml +++ b/build.xml @@ -2366,6 +2366,8 @@ + + @@ -2654,6 +2656,10 @@ skip.installer property in build.properties" /> --> + + + + JAVA VERSION 22 OR NEWER IS REQUIRED FOR RELEASE - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [tomcat] branch main updated: Add message when not using Java 22 for release
On Fri, Dec 8, 2023 at 3:01 PM Rainer Jung wrote: > > Hi Remy, > > I tried to build TC 11 with Java 22, but cuirrenttly it fails with > errors like: > > [javac] > .../java/org/apache/tomcat/util/openssl/openssl_h_Macros.java:469: > error: MemorySegment is a preview API and is disabled by default. > [javac] public static void OCSP_RESPONSE_free(MemorySegment a) { > [javac] ^ > [javac] (use --enable-preview to enable preview APIs) > > The following classes fail like that: > > .../java/org/apache/tomcat/util/net/openssl/panama/OpenSSLContext.java > .../java/org/apache/tomcat/util/net/openssl/panama/OpenSSLSessionContext.java > .../java/org/apache/tomcat/util/net/openssl/panama/OpenSSLSessionStats.java > .../java/org/apache/tomcat/util/openssl/openssl_h_Compatibility.java > .../java/org/apache/tomcat/util/openssl/openssl_h.java > .../java/org/apache/tomcat/util/openssl/openssl_h_Macros.java > > I didn't see anything prepared for "--enable-preview" in our ant scripts. What does java -version says ? The FFM API is no longer a preview API in the up to date Java 22 builds, so the flag is counter productive. Downloads are here: https://jdk.java.net/22/ Rémy > Best regards, > > Rainer > > Am 24.10.23 um 11:16 schrieb r...@apache.org: > > This is an automated email from the ASF dual-hosted git repository. > > > > remm 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 1185ad1154 Add message when not using Java 22 for release > > 1185ad1154 is described below > > > > commit 1185ad1154cdbb8003efd29eeb1ccf95c87bdc56 > > Author: remm > > AuthorDate: Tue Oct 24 11:15:44 2023 +0200 > > > > Add message when not using Java 22 for release > > > > Filter out packages with FFM API from javadoc. > > --- > > build.xml | 6 ++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/build.xml b/build.xml > > index 12c720846e..e3cca8f964 100644 > > --- a/build.xml > > +++ b/build.xml > > @@ -2366,6 +2366,8 @@ > > > > > > > > + > > + > > > > > > > dir="${tomcat.dist}/src/modules/jdbc-pool/src/main/java"/> > > @@ -2654,6 +2656,10 @@ skip.installer property in build.properties" /> > > > > > > --> > > + > > + > > + > > + JAVA VERSION 22 OR NEWER IS > > REQUIRED FOR RELEASE > > > > > > > > - > 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
Re: [tomcat] branch main updated: Add message when not using Java 22 for release
Hi Remy, I tried to build TC 11 with Java 22, but cuirrenttly it fails with errors like: [javac] .../java/org/apache/tomcat/util/openssl/openssl_h_Macros.java:469: error: MemorySegment is a preview API and is disabled by default. [javac] public static void OCSP_RESPONSE_free(MemorySegment a) { [javac] ^ [javac] (use --enable-preview to enable preview APIs) The following classes fail like that: .../java/org/apache/tomcat/util/net/openssl/panama/OpenSSLContext.java .../java/org/apache/tomcat/util/net/openssl/panama/OpenSSLSessionContext.java .../java/org/apache/tomcat/util/net/openssl/panama/OpenSSLSessionStats.java .../java/org/apache/tomcat/util/openssl/openssl_h_Compatibility.java .../java/org/apache/tomcat/util/openssl/openssl_h.java .../java/org/apache/tomcat/util/openssl/openssl_h_Macros.java I didn't see anything prepared for "--enable-preview" in our ant scripts. Best regards, Rainer Am 24.10.23 um 11:16 schrieb r...@apache.org: This is an automated email from the ASF dual-hosted git repository. remm 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 1185ad1154 Add message when not using Java 22 for release 1185ad1154 is described below commit 1185ad1154cdbb8003efd29eeb1ccf95c87bdc56 Author: remm AuthorDate: Tue Oct 24 11:15:44 2023 +0200 Add message when not using Java 22 for release Filter out packages with FFM API from javadoc. --- build.xml | 6 ++ 1 file changed, 6 insertions(+) diff --git a/build.xml b/build.xml index 12c720846e..e3cca8f964 100644 --- a/build.xml +++ b/build.xml @@ -2366,6 +2366,8 @@ + + @@ -2654,6 +2656,10 @@ skip.installer property in build.properties" /> --> + + + + JAVA VERSION 22 OR NEWER IS REQUIRED FOR RELEASE - 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.17
On 08/12/2023 12:34, Mark Thomas wrote: On 08/12/2023 03:17, Christopher Schultz wrote: The proposed 10.1.17 release is: [ ] Broken - do not release [X] Stable - go ahead and release as 10.1.17 Unit tests on Linux, Windows, MacOS M1 and MacOS Intel Build is cross-platform repeatable apart from - The fulldocs package - This is due to a Java bug https://bugs.openjdk.org/browse/JDK-8306980 - The source distributions - Looks like a Tomcat bug in the build script. There is a file named building contained the text "building" in the root of the source tree. Line endings vary based on build platform hence the cross-platform repeatability test fails Chris - this looks like an artifact of your build environment. The file appears in the tag but not in the 10.1.x branch. Any idea what happened? 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.1.17
On 08/12/2023 03:17, Christopher Schultz wrote: The proposed 10.1.17 release is: [ ] Broken - do not release [X] Stable - go ahead and release as 10.1.17 Unit tests on Linux, Windows, MacOS M1 and MacOS Intel Build is cross-platform repeatable apart from - The fulldocs package - This is due to a Java bug https://bugs.openjdk.org/browse/JDK-8306980 - The source distributions - Looks like a Tomcat bug in the build script. There is a file named building contained the text "building" in the root of the source tree. Line endings vary based on build platform hence the cross-platform repeatability test fails - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 8.5.97
On Thu, Dec 7, 2023 at 7:16 PM Christopher Schultz wrote: > > The proposed Apache Tomcat 8.5.97 release is now available for voting. > > The notable changes compared to 8.5.96 are: > > - Background processes for a Container no longer execute while lifecycle >operations are in progress for that Container. > > - Correct unintended escaping of XML in some WebDAV responses. > > - Use a 408 status code if a read timeout occurs during HTTP >HTTP request processing instead of an HTTP 400 status. > > Along with lots of other bug fixes and improvements. > > For full details, see the changelog: > https://nightlies.apache.org/tomcat/tomcat-8.5.x/docs/changelog.html > > It can be obtained from: > https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.5.97/ > > The Maven staging repo is: > https://repository.apache.org/content/repositories/orgapachetomcat-1469 > > The tag is: > https://github.com/apache/tomcat/tree/8.5.97/ > 85bbf20a5021f5838f7e41e5b2e028b3303d232b > > The proposed 8.5.97 release is: > [ ] Broken - do not release > [X] Stable - go ahead and release as 8.5.97 (stable) Rémy - 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: Fix NIO2 and virtual threads (NIO2 requires ExecutorService)
This is an automated email from the ASF dual-hosted git repository. markt 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 bf1a093b63 Fix NIO2 and virtual threads (NIO2 requires ExecutorService) bf1a093b63 is described below commit bf1a093b63eb9ab50a8f37feff3feb64e90b8c1f Author: Mark Thomas AuthorDate: Fri Dec 8 10:26:49 2023 + Fix NIO2 and virtual threads (NIO2 requires ExecutorService) --- .../tomcat/util/threads/LocalStrings.properties| 2 + .../tomcat/util/threads/VirtualThreadExecutor.java | 62 +- webapps/docs/changelog.xml | 9 3 files changed, 71 insertions(+), 2 deletions(-) diff --git a/java/org/apache/tomcat/util/threads/LocalStrings.properties b/java/org/apache/tomcat/util/threads/LocalStrings.properties index 4b28c96f84..e6999e19e4 100644 --- a/java/org/apache/tomcat/util/threads/LocalStrings.properties +++ b/java/org/apache/tomcat/util/threads/LocalStrings.properties @@ -19,3 +19,5 @@ threadPoolExecutor.invalidKeepAlive=Core threads must have positive keep alive t threadPoolExecutor.queueFull=Queue capacity is full threadPoolExecutor.taskRejected=Task [{0}] rejected from [{1}] threadPoolExecutor.threadStoppedToAvoidPotentialLeak=Stopping thread [{0}] to avoid potential memory leaks after a context was stopped. + +vvirtualThreadExecutor.taskRejected=Task [{0}] rejected from [{1}] \ No newline at end of file diff --git a/java/org/apache/tomcat/util/threads/VirtualThreadExecutor.java b/java/org/apache/tomcat/util/threads/VirtualThreadExecutor.java index 93a00f8d42..01dc547d96 100644 --- a/java/org/apache/tomcat/util/threads/VirtualThreadExecutor.java +++ b/java/org/apache/tomcat/util/threads/VirtualThreadExecutor.java @@ -16,14 +16,24 @@ */ package org.apache.tomcat.util.threads; -import java.util.concurrent.Executor; +import java.util.Collections; +import java.util.List; +import java.util.concurrent.AbstractExecutorService; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.RejectedExecutionException; +import java.util.concurrent.TimeUnit; import org.apache.tomcat.util.compat.JreCompat; +import org.apache.tomcat.util.res.StringManager; /** * An executor that uses a new virtual thread for each task. */ -public class VirtualThreadExecutor implements Executor { +public class VirtualThreadExecutor extends AbstractExecutorService { + +private static final StringManager sm = StringManager.getManager(VirtualThreadExecutor.class); + +private CountDownLatch shutdown = new CountDownLatch(1); private final JreCompat jreCompat = JreCompat.getInstance(); @@ -35,6 +45,54 @@ public class VirtualThreadExecutor implements Executor { @Override public void execute(Runnable command) { +if (isShutdown()) { +throw new RejectedExecutionException( +sm.getString("virtualThreadExecutor.taskRejected", command.toString(), this.toString())); +} jreCompat.threadBuilderStart(threadBuilder, command); } + +@Override +public void shutdown() { +shutdown.countDown(); +} + +/** + * {@inheritDoc} + * + * The VirtualThreadExecutor does not track in-progress tasks so calling this method is equivalent to calling + * {@link #shutdown()}. + */ +@Override +public List shutdownNow() { +shutdown(); +return Collections.emptyList(); +} + +@Override +public boolean isShutdown() { +return shutdown.getCount() == 0; +} + +/** + * {@inheritDoc} + * + * The VirtualThreadExecutor does not track in-progress tasks so calling this method is equivalent to calling + * {@link #isShutdown()}. + */ +@Override +public boolean isTerminated() { +return isShutdown(); +} + +/** + * {@inheritDoc} + * + * The VirtualThreadExecutor does not track in-progress tasks so calling this method is effectively waiting for + * {@link #shutdown()} to be called. + */ +@Override +public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException { +return shutdown.await(timeout, unit); +} } \ No newline at end of file diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 341814e1b6..613f5422b9 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -105,6 +105,15 @@ issues do not "pop up" wrt. others). --> + + + +Refactor the VirtualThreadExecutor so that it can be used +by the NIO2 connector which was using platform threads even when +configured to use virtual threads. (markt) + + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail:
(tomcat) branch 9.0.x updated: Fix NIO2 and virtual threads (NIO2 requires ExecutorService)
This is an automated email from the ASF dual-hosted git repository. markt 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 81ff43e1e7 Fix NIO2 and virtual threads (NIO2 requires ExecutorService) 81ff43e1e7 is described below commit 81ff43e1e7f6f5f833a035ad97422c94cd82a4bc Author: Mark Thomas AuthorDate: Fri Dec 8 10:26:49 2023 + Fix NIO2 and virtual threads (NIO2 requires ExecutorService) --- .../tomcat/util/threads/LocalStrings.properties| 2 + .../tomcat/util/threads/VirtualThreadExecutor.java | 62 +- webapps/docs/changelog.xml | 9 3 files changed, 71 insertions(+), 2 deletions(-) diff --git a/java/org/apache/tomcat/util/threads/LocalStrings.properties b/java/org/apache/tomcat/util/threads/LocalStrings.properties index 4b28c96f84..e6999e19e4 100644 --- a/java/org/apache/tomcat/util/threads/LocalStrings.properties +++ b/java/org/apache/tomcat/util/threads/LocalStrings.properties @@ -19,3 +19,5 @@ threadPoolExecutor.invalidKeepAlive=Core threads must have positive keep alive t threadPoolExecutor.queueFull=Queue capacity is full threadPoolExecutor.taskRejected=Task [{0}] rejected from [{1}] threadPoolExecutor.threadStoppedToAvoidPotentialLeak=Stopping thread [{0}] to avoid potential memory leaks after a context was stopped. + +vvirtualThreadExecutor.taskRejected=Task [{0}] rejected from [{1}] \ No newline at end of file diff --git a/java/org/apache/tomcat/util/threads/VirtualThreadExecutor.java b/java/org/apache/tomcat/util/threads/VirtualThreadExecutor.java index 93a00f8d42..01dc547d96 100644 --- a/java/org/apache/tomcat/util/threads/VirtualThreadExecutor.java +++ b/java/org/apache/tomcat/util/threads/VirtualThreadExecutor.java @@ -16,14 +16,24 @@ */ package org.apache.tomcat.util.threads; -import java.util.concurrent.Executor; +import java.util.Collections; +import java.util.List; +import java.util.concurrent.AbstractExecutorService; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.RejectedExecutionException; +import java.util.concurrent.TimeUnit; import org.apache.tomcat.util.compat.JreCompat; +import org.apache.tomcat.util.res.StringManager; /** * An executor that uses a new virtual thread for each task. */ -public class VirtualThreadExecutor implements Executor { +public class VirtualThreadExecutor extends AbstractExecutorService { + +private static final StringManager sm = StringManager.getManager(VirtualThreadExecutor.class); + +private CountDownLatch shutdown = new CountDownLatch(1); private final JreCompat jreCompat = JreCompat.getInstance(); @@ -35,6 +45,54 @@ public class VirtualThreadExecutor implements Executor { @Override public void execute(Runnable command) { +if (isShutdown()) { +throw new RejectedExecutionException( +sm.getString("virtualThreadExecutor.taskRejected", command.toString(), this.toString())); +} jreCompat.threadBuilderStart(threadBuilder, command); } + +@Override +public void shutdown() { +shutdown.countDown(); +} + +/** + * {@inheritDoc} + * + * The VirtualThreadExecutor does not track in-progress tasks so calling this method is equivalent to calling + * {@link #shutdown()}. + */ +@Override +public List shutdownNow() { +shutdown(); +return Collections.emptyList(); +} + +@Override +public boolean isShutdown() { +return shutdown.getCount() == 0; +} + +/** + * {@inheritDoc} + * + * The VirtualThreadExecutor does not track in-progress tasks so calling this method is equivalent to calling + * {@link #isShutdown()}. + */ +@Override +public boolean isTerminated() { +return isShutdown(); +} + +/** + * {@inheritDoc} + * + * The VirtualThreadExecutor does not track in-progress tasks so calling this method is effectively waiting for + * {@link #shutdown()} to be called. + */ +@Override +public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException { +return shutdown.await(timeout, unit); +} } \ No newline at end of file diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 90dc93892c..73a941fcb0 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -105,6 +105,15 @@ issues do not "pop up" wrt. others). --> + + + +Refactor the VirtualThreadExecutor so that it can be used +by the NIO2 connector which was using platform threads even when +configured to use virtual threads. (markt) + + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail:
Re: (tomcat) branch 10.1.x updated: Improvements to French translations. (remm)
On 08/12/2023 10:29, ma...@apache.org wrote: This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.1.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.1.x by this push: new 2b3f0f0964 Improvements to French translations. (remm) 2b3f0f0964 is described below commit 2b3f0f09641e0d8504a114cf296a18d66039266b Author: Mark Thomas AuthorDate: Fri Dec 8 10:26:49 2023 + Improvements to French translations. (remm) Execute the nonsense commit message. Eclipse was being "helpful" and I missed it. Mark --- .../tomcat/util/threads/LocalStrings.properties| 2 + .../tomcat/util/threads/VirtualThreadExecutor.java | 62 +- webapps/docs/changelog.xml | 11 3 files changed, 73 insertions(+), 2 deletions(-) diff --git a/java/org/apache/tomcat/util/threads/LocalStrings.properties b/java/org/apache/tomcat/util/threads/LocalStrings.properties index 4b28c96f84..e6999e19e4 100644 --- a/java/org/apache/tomcat/util/threads/LocalStrings.properties +++ b/java/org/apache/tomcat/util/threads/LocalStrings.properties @@ -19,3 +19,5 @@ threadPoolExecutor.invalidKeepAlive=Core threads must have positive keep alive t threadPoolExecutor.queueFull=Queue capacity is full threadPoolExecutor.taskRejected=Task [{0}] rejected from [{1}] threadPoolExecutor.threadStoppedToAvoidPotentialLeak=Stopping thread [{0}] to avoid potential memory leaks after a context was stopped. + +vvirtualThreadExecutor.taskRejected=Task [{0}] rejected from [{1}] \ No newline at end of file diff --git a/java/org/apache/tomcat/util/threads/VirtualThreadExecutor.java b/java/org/apache/tomcat/util/threads/VirtualThreadExecutor.java index 93a00f8d42..01dc547d96 100644 --- a/java/org/apache/tomcat/util/threads/VirtualThreadExecutor.java +++ b/java/org/apache/tomcat/util/threads/VirtualThreadExecutor.java @@ -16,14 +16,24 @@ */ package org.apache.tomcat.util.threads; -import java.util.concurrent.Executor; +import java.util.Collections; +import java.util.List; +import java.util.concurrent.AbstractExecutorService; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.RejectedExecutionException; +import java.util.concurrent.TimeUnit; import org.apache.tomcat.util.compat.JreCompat; +import org.apache.tomcat.util.res.StringManager; /** * An executor that uses a new virtual thread for each task. */ -public class VirtualThreadExecutor implements Executor { +public class VirtualThreadExecutor extends AbstractExecutorService { + +private static final StringManager sm = StringManager.getManager(VirtualThreadExecutor.class); + +private CountDownLatch shutdown = new CountDownLatch(1); private final JreCompat jreCompat = JreCompat.getInstance(); @@ -35,6 +45,54 @@ public class VirtualThreadExecutor implements Executor { @Override public void execute(Runnable command) { +if (isShutdown()) { +throw new RejectedExecutionException( +sm.getString("virtualThreadExecutor.taskRejected", command.toString(), this.toString())); +} jreCompat.threadBuilderStart(threadBuilder, command); } + +@Override +public void shutdown() { +shutdown.countDown(); +} + +/** + * {@inheritDoc} + * + * The VirtualThreadExecutor does not track in-progress tasks so calling this method is equivalent to calling + * {@link #shutdown()}. + */ +@Override +public List shutdownNow() { +shutdown(); +return Collections.emptyList(); +} + +@Override +public boolean isShutdown() { +return shutdown.getCount() == 0; +} + +/** + * {@inheritDoc} + * + * The VirtualThreadExecutor does not track in-progress tasks so calling this method is equivalent to calling + * {@link #isShutdown()}. + */ +@Override +public boolean isTerminated() { +return isShutdown(); +} + +/** + * {@inheritDoc} + * + * The VirtualThreadExecutor does not track in-progress tasks so calling this method is effectively waiting for + * {@link #shutdown()} to be called. + */ +@Override +public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException { +return shutdown.await(timeout, unit); +} } \ No newline at end of file diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 01c72ce5eb..5a228d27a7 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -104,6 +104,17 @@ They eventually become mixed with the numbered issues (i.e., numbered issues do not "pop up" wrt. others). --> + + + + +Refactor the VirtualThreadExecutor so that it can be used +by the NIO2 connector which was using platform threads even when +configured to
(tomcat) branch 10.1.x updated: Improvements to French translations. (remm)
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.1.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.1.x by this push: new 2b3f0f0964 Improvements to French translations. (remm) 2b3f0f0964 is described below commit 2b3f0f09641e0d8504a114cf296a18d66039266b Author: Mark Thomas AuthorDate: Fri Dec 8 10:26:49 2023 + Improvements to French translations. (remm) --- .../tomcat/util/threads/LocalStrings.properties| 2 + .../tomcat/util/threads/VirtualThreadExecutor.java | 62 +- webapps/docs/changelog.xml | 11 3 files changed, 73 insertions(+), 2 deletions(-) diff --git a/java/org/apache/tomcat/util/threads/LocalStrings.properties b/java/org/apache/tomcat/util/threads/LocalStrings.properties index 4b28c96f84..e6999e19e4 100644 --- a/java/org/apache/tomcat/util/threads/LocalStrings.properties +++ b/java/org/apache/tomcat/util/threads/LocalStrings.properties @@ -19,3 +19,5 @@ threadPoolExecutor.invalidKeepAlive=Core threads must have positive keep alive t threadPoolExecutor.queueFull=Queue capacity is full threadPoolExecutor.taskRejected=Task [{0}] rejected from [{1}] threadPoolExecutor.threadStoppedToAvoidPotentialLeak=Stopping thread [{0}] to avoid potential memory leaks after a context was stopped. + +vvirtualThreadExecutor.taskRejected=Task [{0}] rejected from [{1}] \ No newline at end of file diff --git a/java/org/apache/tomcat/util/threads/VirtualThreadExecutor.java b/java/org/apache/tomcat/util/threads/VirtualThreadExecutor.java index 93a00f8d42..01dc547d96 100644 --- a/java/org/apache/tomcat/util/threads/VirtualThreadExecutor.java +++ b/java/org/apache/tomcat/util/threads/VirtualThreadExecutor.java @@ -16,14 +16,24 @@ */ package org.apache.tomcat.util.threads; -import java.util.concurrent.Executor; +import java.util.Collections; +import java.util.List; +import java.util.concurrent.AbstractExecutorService; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.RejectedExecutionException; +import java.util.concurrent.TimeUnit; import org.apache.tomcat.util.compat.JreCompat; +import org.apache.tomcat.util.res.StringManager; /** * An executor that uses a new virtual thread for each task. */ -public class VirtualThreadExecutor implements Executor { +public class VirtualThreadExecutor extends AbstractExecutorService { + +private static final StringManager sm = StringManager.getManager(VirtualThreadExecutor.class); + +private CountDownLatch shutdown = new CountDownLatch(1); private final JreCompat jreCompat = JreCompat.getInstance(); @@ -35,6 +45,54 @@ public class VirtualThreadExecutor implements Executor { @Override public void execute(Runnable command) { +if (isShutdown()) { +throw new RejectedExecutionException( +sm.getString("virtualThreadExecutor.taskRejected", command.toString(), this.toString())); +} jreCompat.threadBuilderStart(threadBuilder, command); } + +@Override +public void shutdown() { +shutdown.countDown(); +} + +/** + * {@inheritDoc} + * + * The VirtualThreadExecutor does not track in-progress tasks so calling this method is equivalent to calling + * {@link #shutdown()}. + */ +@Override +public List shutdownNow() { +shutdown(); +return Collections.emptyList(); +} + +@Override +public boolean isShutdown() { +return shutdown.getCount() == 0; +} + +/** + * {@inheritDoc} + * + * The VirtualThreadExecutor does not track in-progress tasks so calling this method is equivalent to calling + * {@link #isShutdown()}. + */ +@Override +public boolean isTerminated() { +return isShutdown(); +} + +/** + * {@inheritDoc} + * + * The VirtualThreadExecutor does not track in-progress tasks so calling this method is effectively waiting for + * {@link #shutdown()} to be called. + */ +@Override +public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException { +return shutdown.await(timeout, unit); +} } \ No newline at end of file diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 01c72ce5eb..5a228d27a7 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -104,6 +104,17 @@ They eventually become mixed with the numbered issues (i.e., numbered issues do not "pop up" wrt. others). --> + + + + +Refactor the VirtualThreadExecutor so that it can be used +by the NIO2 connector which was using platform threads even when +configured to use virtual threads. (markt) + + + + - To unsubscribe, e-mail:
(tomcat) branch main updated: Fix NIO2 and virtual threads (NIO2 requires ExecutorService)
This is an automated email from the ASF dual-hosted git repository. markt 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 f9fb4f443d Fix NIO2 and virtual threads (NIO2 requires ExecutorService) f9fb4f443d is described below commit f9fb4f443d5c6814445a42174288ae549abc83ec Author: Mark Thomas AuthorDate: Fri Dec 8 10:26:49 2023 + Fix NIO2 and virtual threads (NIO2 requires ExecutorService) --- .../tomcat/util/threads/LocalStrings.properties| 2 + .../tomcat/util/threads/VirtualThreadExecutor.java | 63 +- webapps/docs/changelog.xml | 9 3 files changed, 72 insertions(+), 2 deletions(-) diff --git a/java/org/apache/tomcat/util/threads/LocalStrings.properties b/java/org/apache/tomcat/util/threads/LocalStrings.properties index 4b28c96f84..e6999e19e4 100644 --- a/java/org/apache/tomcat/util/threads/LocalStrings.properties +++ b/java/org/apache/tomcat/util/threads/LocalStrings.properties @@ -19,3 +19,5 @@ threadPoolExecutor.invalidKeepAlive=Core threads must have positive keep alive t threadPoolExecutor.queueFull=Queue capacity is full threadPoolExecutor.taskRejected=Task [{0}] rejected from [{1}] threadPoolExecutor.threadStoppedToAvoidPotentialLeak=Stopping thread [{0}] to avoid potential memory leaks after a context was stopped. + +vvirtualThreadExecutor.taskRejected=Task [{0}] rejected from [{1}] \ No newline at end of file diff --git a/java/org/apache/tomcat/util/threads/VirtualThreadExecutor.java b/java/org/apache/tomcat/util/threads/VirtualThreadExecutor.java index 0e177fe861..461d16e05f 100644 --- a/java/org/apache/tomcat/util/threads/VirtualThreadExecutor.java +++ b/java/org/apache/tomcat/util/threads/VirtualThreadExecutor.java @@ -16,12 +16,23 @@ */ package org.apache.tomcat.util.threads; -import java.util.concurrent.Executor; +import java.util.Collections; +import java.util.List; +import java.util.concurrent.AbstractExecutorService; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.RejectedExecutionException; +import java.util.concurrent.TimeUnit; + +import org.apache.tomcat.util.res.StringManager; /** * An executor that uses a new virtual thread for each task. */ -public class VirtualThreadExecutor implements Executor { +public class VirtualThreadExecutor extends AbstractExecutorService { + +private static final StringManager sm = StringManager.getManager(VirtualThreadExecutor.class); + +private CountDownLatch shutdown = new CountDownLatch(1); private Thread.Builder threadBuilder; @@ -31,6 +42,54 @@ public class VirtualThreadExecutor implements Executor { @Override public void execute(Runnable command) { +if (isShutdown()) { +throw new RejectedExecutionException( +sm.getString("virtualThreadExecutor.taskRejected", command.toString(), this.toString())); +} threadBuilder.start(command); } + +@Override +public void shutdown() { +shutdown.countDown(); +} + +/** + * {@inheritDoc} + * + * The VirtualThreadExecutor does not track in-progress tasks so calling this method is equivalent to calling + * {@link #shutdown()}. + */ +@Override +public List shutdownNow() { +shutdown(); +return Collections.emptyList(); +} + +@Override +public boolean isShutdown() { +return shutdown.getCount() == 0; +} + +/** + * {@inheritDoc} + * + * The VirtualThreadExecutor does not track in-progress tasks so calling this method is equivalent to calling + * {@link #isShutdown()}. + */ +@Override +public boolean isTerminated() { +return isShutdown(); +} + +/** + * {@inheritDoc} + * + * The VirtualThreadExecutor does not track in-progress tasks so calling this method is effectively waiting for + * {@link #shutdown()} to be called. + */ +@Override +public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException { +return shutdown.await(timeout, unit); +} } \ No newline at end of file diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 75f8106c27..73b9aaca03 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -105,6 +105,15 @@ issues do not "pop up" wrt. others). --> + + + +Refactor the VirtualThreadExecutor so that it can be used +by the NIO2 connector which was using platform threads even when +configured to use virtual threads. (markt) + + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch main updated: Cleanups
This is an automated email from the ASF dual-hosted git repository. remm 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 fb382b1552 Cleanups fb382b1552 is described below commit fb382b1552d00f4ca5fdc23f66bc1fe347e3965d Author: remm AuthorDate: Fri Dec 8 11:26:05 2023 +0100 Cleanups Remove methods not present in Tomcat 11. Remove deprecated tags, this is clearly flagged as pre OpenSSL 3. --- .../tomcat/util/net/openssl/panama/OpenSSLImplementation.java| 9 - .../apache/tomcat/util/net/openssl/panama/OpenSSLLibrary.java| 3 --- 2 files changed, 12 deletions(-) diff --git a/java/org/apache/tomcat/util/net/openssl/panama/OpenSSLImplementation.java b/java/org/apache/tomcat/util/net/openssl/panama/OpenSSLImplementation.java index 28d7ae2b8f..260d196b93 100644 --- a/java/org/apache/tomcat/util/net/openssl/panama/OpenSSLImplementation.java +++ b/java/org/apache/tomcat/util/net/openssl/panama/OpenSSLImplementation.java @@ -29,11 +29,6 @@ import org.apache.tomcat.util.net.jsse.JSSESupport; public class OpenSSLImplementation extends SSLImplementation { -@Deprecated -public SSLSupport getSSLSupport(SSLSession session) { -return new JSSESupport(session, null); -} - @Override public SSLSupport getSSLSupport(SSLSession session, Map> additionalAttributes) { return new JSSESupport(session, additionalAttributes); @@ -44,8 +39,4 @@ public class OpenSSLImplementation extends SSLImplementation { return new OpenSSLUtil(certificate); } -public boolean isAlpnSupported() { -// OpenSSL supported ALPN -return true; -} } diff --git a/java/org/apache/tomcat/util/net/openssl/panama/OpenSSLLibrary.java b/java/org/apache/tomcat/util/net/openssl/panama/OpenSSLLibrary.java index d184189074..45e3178fc7 100644 --- a/java/org/apache/tomcat/util/net/openssl/panama/OpenSSLLibrary.java +++ b/java/org/apache/tomcat/util/net/openssl/panama/OpenSSLLibrary.java @@ -95,7 +95,6 @@ public class OpenSSLLibrary { { BN_get_rfc3526_prime_2048, NULL, 1025 }, { BN_get_rfc2409_prime_1024, NULL, 0 } */ -@Deprecated static final class DHParam { final MemorySegment dh; final int min; @@ -106,7 +105,6 @@ public class OpenSSLLibrary { } static final DHParam[] dhParameters = new DHParam[6]; -@Deprecated private static void initDHParameters() { var dh = DH_new(); var p = BN_get_rfc3526_prime_8192(MemorySegment.NULL); @@ -146,7 +144,6 @@ public class OpenSSLLibrary { dhParameters[5] = new DHParam(dh, 0); } -@Deprecated private static void freeDHParameters() { for (int i = 0; i < dhParameters.length; i++) { if (dhParameters[i] != null) { - 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.17
On Fri, Dec 8, 2023 at 4:18 AM Christopher Schultz wrote: > > The proposed Apache Tomcat 10.1.17 release is now available for > voting. > > The notable changes compared to 10.1.16 are: > > - Background processes for a Container no longer execute while lifecycle >operations are in progress for that Container. > > - Correct unintended escaping of XML in some WebDAV responses. > > - Use a 408 status code if a read timeout occurs during HTTP >HTTP request processing instead of an HTTP 400 status. > > For full details, see the change log: > https://nightlies.apache.org/tomcat/tomcat-10.1.x/docs/changelog.html > > 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. > > It can be obtained from: > https://dist.apache.org/repos/dist/dev/tomcat/tomcat-10/v10.1.17/ > > The Maven staging repo is: > https://repository.apache.org/content/repositories/orgapachetomcat-1473 > > The tag is: > https://github.com/apache/tomcat/tree/10.1.17 > 32e30a4648cdd24245ef4a0d58beb6ada1c41844 > > The proposed 10.1.17 release is: > [ ] Broken - do not release > [X] Stable - go ahead and release as 10.1.17 Rémy - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 11.0.0-M15
On Thu, Dec 7, 2023 at 4:36 PM Mark Thomas wrote: > > The proposed Apache Tomcat 11.0.0-M15 release is now available for > voting. > > Apache Tomcat 11.0.0-M15 is a milestone release of the 11.0.x branch and > has been made to provide users with early access to the new features in > Apache Tomcat 11.0.x so that they may provide feedback. The notable > changes compared to the previous milestone include: > > - Background processes for a Container no longer execute while lifecycle >operations are in progress for that Container. > > - Align with the latest additions and changes from the Servlet 6.1 >specification. > > - Update the sample.war included in the documentation to use the Jakarta >EE APIs. > > For full details, see the change log: > https://nightlies.apache.org/tomcat/tomcat-11.0.x/docs/changelog.html > > Applications that run on Tomcat 9 and earlier will not run on Tomcat 11 > 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. Applications using deprecated APIs may require > further changes. > > It can be obtained from: > https://dist.apache.org/repos/dist/dev/tomcat/tomcat-11/v11.0.0-M15/ > > The Maven staging repo is: > https://repository.apache.org/content/repositories/orgapachetomcat-1468 > > The tag is: > https://github.com/apache/tomcat/tree/11.0.0-M15 > a22029c7147b83e4fbced16add744903245d1147 > > > The proposed 11.0.0-M15 release is: > [ ] -1 Broken - do not release > [X] +1 Alpha - go ahead and release as 11.0.0-M15 Rémy - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org