[tomcat] branch main updated (e7cd552c75 -> 0d2f562cfd)
This is an automated email from the ASF dual-hosted git repository. markt pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git from e7cd552c75 Code clean-up. Reformatting. No functional change. add 0d2f562cfd Fix BZ 66535 - Redefine meaning of maxValidTime No new revisions were added by this update. Summary of changes: .../catalina/ha/deploy/FileMessageFactory.java | 25 ++ .../catalina/ha/deploy/LocalStrings.properties | 1 + webapps/docs/changelog.xml | 11 ++ webapps/docs/config/cluster-deployer.xml | 20 ++--- 4 files changed, 45 insertions(+), 12 deletions(-) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 10.1.x updated: Fix BZ 66535 - Redefine meaning of maxValidTime
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 9640fe4e03 Fix BZ 66535 - Redefine meaning of maxValidTime 9640fe4e03 is described below commit 9640fe4e032e3597ff8839d713b20b0e6d6049b5 Author: Mark Thomas AuthorDate: Thu Mar 23 11:28:37 2023 + Fix BZ 66535 - Redefine meaning of maxValidTime It is now the maximum time allowed between receiving parts of a transferred file. A new warning is logged if the transfer is cancelled. --- .../catalina/ha/deploy/FileMessageFactory.java | 25 ++ .../catalina/ha/deploy/LocalStrings.properties | 1 + webapps/docs/changelog.xml | 11 ++ webapps/docs/config/cluster-deployer.xml | 20 ++--- 4 files changed, 45 insertions(+), 12 deletions(-) diff --git a/java/org/apache/catalina/ha/deploy/FileMessageFactory.java b/java/org/apache/catalina/ha/deploy/FileMessageFactory.java index 979f13d37c..19fa652f4c 100644 --- a/java/org/apache/catalina/ha/deploy/FileMessageFactory.java +++ b/java/org/apache/catalina/ha/deploy/FileMessageFactory.java @@ -111,11 +111,20 @@ public class FileMessageFactory { /** * The time this instance was created. (in milliseconds) + * + * @deprecated Unused. This will be removed in Tomcat 11. */ +@Deprecated protected long creationTime = 0; + +/** + * The time this instance was last modified. + */ +protected long lastModified = 0; + /** - * The maximum valid time(in seconds) from creationTime. + * The maximum time (in seconds) this instance will be allowed to exist from lastModifiedTime. */ protected int maxValidTime = -1; @@ -150,6 +159,7 @@ public class FileMessageFactory { in = new FileInputStream(f); } // end if creationTime = System.currentTimeMillis(); +lastModified = System.currentTimeMillis(); } /** @@ -231,6 +241,9 @@ public class FileMessageFactory { return false; } +// Have received a new message. Update the last modified time (even if the message is being buffered for now). +lastModified = System.currentTimeMillis(); + FileMessage next = null; synchronized (this) { if (!isWriting) { @@ -322,11 +335,15 @@ public class FileMessageFactory { public boolean isValid() { if (maxValidTime > 0) { long timeNow = System.currentTimeMillis(); -int timeIdle = (int) ((timeNow - creationTime) / 1000L); +long timeIdle = (timeNow - lastModified) / 1000L; if (timeIdle > maxValidTime) { cleanup(); -if (file.exists() && !file.delete()) { -log.warn(sm.getString("fileMessageFactory.deleteFail", file)); +if (file.exists()) { +if (file.delete()) { +log.warn(sm.getString("fileMessageFactory.delete", file, Long.toString(maxValidTime))); +} else { +log.warn(sm.getString("fileMessageFactory.deleteFail", file)); +} } return false; } diff --git a/java/org/apache/catalina/ha/deploy/LocalStrings.properties b/java/org/apache/catalina/ha/deploy/LocalStrings.properties index 52c617424a..8b2df01de2 100644 --- a/java/org/apache/catalina/ha/deploy/LocalStrings.properties +++ b/java/org/apache/catalina/ha/deploy/LocalStrings.properties @@ -14,6 +14,7 @@ # limitations under the License. farmWarDeployer.alreadyDeployed=webapp [{0}] are already deployed. +farmWarDeployer.delete=Deleted [{0}] before the full file was received as the maxValidTime of [{1}] seconds has expired farmWarDeployer.deleteFail=Failed to delete [{0}] farmWarDeployer.deployEnd=Deployment from [{0}] finished. farmWarDeployer.fileCopyFail=Unable to copy from [{0}] to [{1}] diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index d35700aadf..51039b7e2f 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -191,6 +191,17 @@ + + + +66535: Redefine the maxValidTime attribute of +FarmWarDeployer to be the maximum time allowed between +receiving parts of a transferred file before the transfer is cancelled +and the associated resources cleaned-up. A new warning message will be +logged if the file transfer is cancelled. (markt) + + + diff --git a/webapps/docs/config/cluster-deployer.xml b/webapps/docs/config/cluster-deployer.xml index 7b750f9d8c..f956e46fbc 100644 --- a/webapps/docs/config/cluster-deployer.xml +++ b/webapps/docs/config/cluster-deployer.xml @@ -84,14 +84,18 @@ att
[tomcat] branch 9.0.x updated: Fix BZ 66535 - Redefine meaning of maxValidTime
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 50f9925b7e Fix BZ 66535 - Redefine meaning of maxValidTime 50f9925b7e is described below commit 50f9925b7e524f3a8553729be0b73bc23b4f2b3e Author: Mark Thomas AuthorDate: Thu Mar 23 11:28:37 2023 + Fix BZ 66535 - Redefine meaning of maxValidTime It is now the maximum time allowed between receiving parts of a transferred file. A new warning is logged if the transfer is cancelled. --- .../catalina/ha/deploy/FileMessageFactory.java | 25 ++ .../catalina/ha/deploy/LocalStrings.properties | 1 + webapps/docs/changelog.xml | 11 ++ webapps/docs/config/cluster-deployer.xml | 20 ++--- 4 files changed, 45 insertions(+), 12 deletions(-) diff --git a/java/org/apache/catalina/ha/deploy/FileMessageFactory.java b/java/org/apache/catalina/ha/deploy/FileMessageFactory.java index 09d4cf7591..f73db0dc34 100644 --- a/java/org/apache/catalina/ha/deploy/FileMessageFactory.java +++ b/java/org/apache/catalina/ha/deploy/FileMessageFactory.java @@ -111,11 +111,20 @@ public class FileMessageFactory { /** * The time this instance was created. (in milliseconds) + * + * @deprecated Unused. This will be removed in Tomcat 11. */ +@Deprecated protected long creationTime = 0; + /** - * The maximum valid time(in seconds) from creationTime. + * The time this instance was last modified. + */ +protected long lastModified = 0; + +/** + * The maximum time (in seconds) this instance will be allowed to exist from lastModifiedTime. */ protected int maxValidTime = -1; @@ -150,6 +159,7 @@ public class FileMessageFactory { in = new FileInputStream(f); } // end if creationTime = System.currentTimeMillis(); +lastModified = System.currentTimeMillis(); } /** @@ -231,6 +241,9 @@ public class FileMessageFactory { return false; } +// Have received a new message. Update the last modified time (even if the message is being buffered for now). +lastModified = System.currentTimeMillis(); + FileMessage next = null; synchronized (this) { if (!isWriting) { @@ -353,11 +366,15 @@ public class FileMessageFactory { public boolean isValid() { if (maxValidTime > 0) { long timeNow = System.currentTimeMillis(); -int timeIdle = (int) ((timeNow - creationTime) / 1000L); +long timeIdle = (timeNow - lastModified) / 1000L; if (timeIdle > maxValidTime) { cleanup(); -if (file.exists() && !file.delete()) { -log.warn(sm.getString("fileMessageFactory.deleteFail", file)); +if (file.exists()) { +if (file.delete()) { +log.warn(sm.getString("fileMessageFactory.delete", file, Long.toString(maxValidTime))); +} else { +log.warn(sm.getString("fileMessageFactory.deleteFail", file)); +} } return false; } diff --git a/java/org/apache/catalina/ha/deploy/LocalStrings.properties b/java/org/apache/catalina/ha/deploy/LocalStrings.properties index 52c617424a..8b2df01de2 100644 --- a/java/org/apache/catalina/ha/deploy/LocalStrings.properties +++ b/java/org/apache/catalina/ha/deploy/LocalStrings.properties @@ -14,6 +14,7 @@ # limitations under the License. farmWarDeployer.alreadyDeployed=webapp [{0}] are already deployed. +farmWarDeployer.delete=Deleted [{0}] before the full file was received as the maxValidTime of [{1}] seconds has expired farmWarDeployer.deleteFail=Failed to delete [{0}] farmWarDeployer.deployEnd=Deployment from [{0}] finished. farmWarDeployer.fileCopyFail=Unable to copy from [{0}] to [{1}] diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index d90a53092b..57bc93bfcd 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -186,6 +186,17 @@ + + + +66535: Redefine the maxValidTime attribute of +FarmWarDeployer to be the maximum time allowed between +receiving parts of a transferred file before the transfer is cancelled +and the associated resources cleaned-up. A new warning message will be +logged if the file transfer is cancelled. (markt) + + + diff --git a/webapps/docs/config/cluster-deployer.xml b/webapps/docs/config/cluster-deployer.xml index 7b750f9d8c..f956e46fbc 100644 --- a/webapps/docs/config/cluster-deployer.xml +++ b/webapps/docs/config/cluster-deployer.xml @@ -84,14 +84,18 @@ attri
[tomcat] branch 8.5.x updated: Fix BZ 66535 - Redefine meaning of maxValidTime
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 174d2a0810 Fix BZ 66535 - Redefine meaning of maxValidTime 174d2a0810 is described below commit 174d2a0810ed1fe70f79d81a4cd9c6e313805d91 Author: Mark Thomas AuthorDate: Thu Mar 23 11:28:37 2023 + Fix BZ 66535 - Redefine meaning of maxValidTime It is now the maximum time allowed between receiving parts of a transferred file. A new warning is logged if the transfer is cancelled. --- .../catalina/ha/deploy/FileMessageFactory.java | 25 ++ .../catalina/ha/deploy/LocalStrings.properties | 1 + webapps/docs/changelog.xml | 11 ++ webapps/docs/config/cluster-deployer.xml | 20 ++--- 4 files changed, 45 insertions(+), 12 deletions(-) diff --git a/java/org/apache/catalina/ha/deploy/FileMessageFactory.java b/java/org/apache/catalina/ha/deploy/FileMessageFactory.java index ba83be426a..4a4394af37 100644 --- a/java/org/apache/catalina/ha/deploy/FileMessageFactory.java +++ b/java/org/apache/catalina/ha/deploy/FileMessageFactory.java @@ -111,11 +111,20 @@ public class FileMessageFactory { /** * The time this instance was created. (in milliseconds) + * + * @deprecated Unused. This will be removed in Tomcat 11. */ +@Deprecated protected long creationTime = 0; + +/** + * The time this instance was last modified. + */ +protected long lastModified = 0; + /** - * The maximum valid time(in seconds) from creationTime. + * The maximum time (in seconds) this instance will be allowed to exist from lastModifiedTime. */ protected int maxValidTime = -1; @@ -150,6 +159,7 @@ public class FileMessageFactory { in = new FileInputStream(f); } // end if creationTime = System.currentTimeMillis(); +lastModified = System.currentTimeMillis(); } /** @@ -231,6 +241,9 @@ public class FileMessageFactory { return false; } +// Have received a new message. Update the last modified time (even if the message is being buffered for now). +lastModified = System.currentTimeMillis(); + FileMessage next = null; synchronized (this) { if (!isWriting) { @@ -350,11 +363,15 @@ public class FileMessageFactory { public boolean isValid() { if (maxValidTime > 0) { long timeNow = System.currentTimeMillis(); -int timeIdle = (int) ((timeNow - creationTime) / 1000L); +long timeIdle = (timeNow - lastModified) / 1000L; if (timeIdle > maxValidTime) { cleanup(); -if (file.exists() && !file.delete()) { -log.warn(sm.getString("fileMessageFactory.deleteFail", file)); +if (file.exists()) { +if (file.delete()) { +log.warn(sm.getString("fileMessageFactory.delete", file, Long.toString(maxValidTime))); +} else { +log.warn(sm.getString("fileMessageFactory.deleteFail", file)); +} } return false; } diff --git a/java/org/apache/catalina/ha/deploy/LocalStrings.properties b/java/org/apache/catalina/ha/deploy/LocalStrings.properties index a7748595ac..57b98534d3 100644 --- a/java/org/apache/catalina/ha/deploy/LocalStrings.properties +++ b/java/org/apache/catalina/ha/deploy/LocalStrings.properties @@ -14,6 +14,7 @@ # limitations under the License. farmWarDeployer.alreadyDeployed=webapp [{0}] are already deployed. +farmWarDeployer.delete=Deleted [{0}] before the full file was received as the maxValidTime of [{1}] seconds has expired farmWarDeployer.deleteFail=Failed to delete [{0}] farmWarDeployer.deployEnd=Deployment from [{0}] finished. farmWarDeployer.fileCopyFail=Unable to copy from [{0}] to [{1}] diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 361b5a9b45..10ab299e6c 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -181,6 +181,17 @@ + + + +66535: Redefine the maxValidTime attribute of +FarmWarDeployer to be the maximum time allowed between +receiving parts of a transferred file before the transfer is cancelled +and the associated resources cleaned-up. A new warning message will be +logged if the file transfer is cancelled. (markt) + + + diff --git a/webapps/docs/config/cluster-deployer.xml b/webapps/docs/config/cluster-deployer.xml index 7b750f9d8c..f956e46fbc 100644 --- a/webapps/docs/config/cluster-deployer.xml +++ b/webapps/docs/config/cluster-deployer.xml @@ -84,14 +84,18 @@ attri
[GitHub] [tomcat] markt-asf commented on pull request #602: Bump tomcat-catalina from 9.0.68 to 9.0.72 in /modules/openssl-foreign
markt-asf commented on PR #602: URL: https://github.com/apache/tomcat/pull/602#issuecomment-1481028384 Unwanted PR -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[GitHub] [tomcat] markt-asf closed pull request #602: Bump tomcat-catalina from 9.0.68 to 9.0.72 in /modules/openssl-foreign
markt-asf closed pull request #602: Bump tomcat-catalina from 9.0.68 to 9.0.72 in /modules/openssl-foreign URL: https://github.com/apache/tomcat/pull/602 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[GitHub] [tomcat] dependabot[bot] commented on pull request #602: Bump tomcat-catalina from 9.0.68 to 9.0.72 in /modules/openssl-foreign
dependabot[bot] commented on PR #602: URL: https://github.com/apache/tomcat/pull/602#issuecomment-1481028450 OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting `@dependabot ignore this major version` or `@dependabot ignore this minor version`. If you change your mind, just re-open this PR and I'll resolve any conflicts on it. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[GitHub] [tomcat] markt-asf commented on pull request #603: Bump tomcat-catalina from 9.0.68 to 9.0.72 in /modules/openssl-java17
markt-asf commented on PR #603: URL: https://github.com/apache/tomcat/pull/603#issuecomment-1481028719 Unwanted PR -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[GitHub] [tomcat] markt-asf closed pull request #603: Bump tomcat-catalina from 9.0.68 to 9.0.72 in /modules/openssl-java17
markt-asf closed pull request #603: Bump tomcat-catalina from 9.0.68 to 9.0.72 in /modules/openssl-java17 URL: https://github.com/apache/tomcat/pull/603 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[GitHub] [tomcat] dependabot[bot] commented on pull request #603: Bump tomcat-catalina from 9.0.68 to 9.0.72 in /modules/openssl-java17
dependabot[bot] commented on PR #603: URL: https://github.com/apache/tomcat/pull/603#issuecomment-1481028838 OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting `@dependabot ignore this major version` or `@dependabot ignore this minor version`. If you change your mind, just re-open this PR and I'll resolve any conflicts on it. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 66535] FarmWarDeployer will fail to deploy a WAR file when maxvalidtime is less than the time it takes to transfer
https://bz.apache.org/bugzilla/show_bug.cgi?id=66535 Mark Thomas changed: What|Removed |Added Resolution|--- |FIXED Status|NEW |RESOLVED --- Comment #4 from Mark Thomas --- Fixed in: - 11.0.x for 11.0.0-M5 onwards - 10.1.x for 10.1.8 onwards - 9.0.x for 9.0.74 onwards - 8.5.x for 8.5.88 onwards -- 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
[tomcat] branch main updated (0d2f562cfd -> 129211c806)
This is an automated email from the ASF dual-hosted git repository. markt pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git from 0d2f562cfd Fix BZ 66535 - Redefine meaning of maxValidTime add 129211c806 Delete deprecated code No new revisions were added by this update. Summary of changes: java/org/apache/catalina/ha/deploy/FileMessageFactory.java | 10 -- 1 file changed, 10 deletions(-) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Reduce default for maxParameterCount
ср, 22 мар. 2023 г. в 14:38, Mark Thomas : > > Any more thoughts on this? > 1. If we cannot agree on the required behaviour, it is one more reason to make it configurable. As I said, it would be more useful to configure it at a Context. 2. Regarding the default behaviour, Throwing an exception was also my first thought, and it seems more natural. Regarding implementation, I thought that in org.apache.catalina.connector.Request all lines if (!parametersParsed) { parseParameters(); } could be amended with "if (parseFailed) throw new IllegalStateException(parseFailedReason)", or maybe put this "throw" into parseParameters(). BTW, Spring Framework has a feature that routing of requests can be configured with annotations. https://docs.spring.io/spring-framework/docs/5.3.25/reference/html/web.html#mvc-ann-requestmapping-params-and-headers In this case parameters parsing is hidden from the caller (done by framework), and also a Request may be omitted from method signature (so one wouldn't check its attributes to check for failed parsing). In this case it makes sense to throw an exception to report a failure. 3. Regarding UserDataHelper, 1) If we rely on it, it means being too late. At the time one considers reading the logs, data loss has already happened. 2) If you look at my mail regarding code paths (7th email in this thread), if I have read the code correctly, I think that in case of "d) Request.getParameter() was called, and request was "multipart/form-data"." there is no logging. 4. Regarding the value for maxParameterCount 500 parameters may mean 100 rows of 5 values each; 100 rows may mean daily values for 3 months. 1000 parameters may mean a year of daily data with 3 values each day. It is not what one would frequently see in practice, but it could happen. > There hasn't been much movement from the spec EG on this, so my current > thinking is to revert this change for 10.1.x and earlier to wait and see > what the Servlet EG decides. > 5. If someone is thinking about improved API, a) I wonder whether ExtendedAccessLogValve calling of getParameter() could be improved, so that it does not trigger parameter parsing that includes reading the body of a POST. Or maybe do reading, but with a lower timeout. Essentially in the same way as when skipping a body of a failed request. It is not a job for an AccessLogValve to spend time on parameter parsing. b) I wonder whether parameter parsing could be done asynchronously. Best regards, Konstantin Kolinko - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[GitHub] [tomcat] rmaucher commented on pull request #603: Bump tomcat-catalina from 9.0.68 to 9.0.72 in /modules/openssl-java17
rmaucher commented on PR #603: URL: https://github.com/apache/tomcat/pull/603#issuecomment-1481104406 I'll remember to update a bit more often to avoid this sort of unwanted noise ! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Buildbot success in on tomcat-10.1.x
Build status: Build succeeded! Worker used: bb_worker2_ubuntu URL: https://ci2.apache.org/#builders/44/builds/730 Blamelist: Mark Thomas Build Text: build successful Status Detected: restored build Build Source Stamp: [branch 10.1.x] 9640fe4e032e3597ff8839d713b20b0e6d6049b5 Steps: worker_preparation: 0 git: 0 shell: 0 shell_1: 0 shell_2: 0 shell_3: 0 shell_4: 0 shell_5: 0 compile: 1 shell_6: 0 shell_7: 0 shell_8: 0 shell_9: 0 Rsync docs to nightlies.apache.org: 0 shell_10: 0 Rsync RAT to nightlies.apache.org: 0 compile_1: 1 shell_11: 0 Rsync Logs to nightlies.apache.org: 0 -- ASF Buildbot - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch main updated: Reformat comment so format is retained when auto-formatting
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 ba6a6a77c5 Reformat comment so format is retained when auto-formatting ba6a6a77c5 is described below commit ba6a6a77c5573477a904b9c8febf41379681c8ac Author: Mark Thomas AuthorDate: Thu Mar 23 13:59:27 2023 + Reformat comment so format is retained when auto-formatting --- java/org/apache/catalina/webresources/CachedResource.java | 12 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/java/org/apache/catalina/webresources/CachedResource.java b/java/org/apache/catalina/webresources/CachedResource.java index 9f7fca6640..80937068dc 100644 --- a/java/org/apache/catalina/webresources/CachedResource.java +++ b/java/org/apache/catalina/webresources/CachedResource.java @@ -316,10 +316,14 @@ public class CachedResource implements WebResource { /* * We don't want applications using this URL to access the resource directly as that could lead to inconsistent * results when the resource is updated on the file system but the cache entry has not yet expired. We saw this, - * for example, in JSP compilation. - last modified time was obtained via - * ServletContext.getResource("path").openConnection().getLastModified() - JSP content was obtained via - * ServletContext.getResourceAsStream("path") The result was that the JSP modification was detected but the JSP - * content was read from the cache so the non-updated JSP page was used to generate the .java and .class file + * for example, in JSP compilation. + * + * - last modified time was obtained via ServletContext.getResource("path").openConnection().getLastModified() + * + * - JSP content was obtained via ServletContext.getResourceAsStream("path") + * + * The result was that the JSP modification was detected but the JSP content was read from the cache so the + * non-updated JSP page was used to generate the .java and .class file * * One option to resolve this issue is to use a custom URL scheme for resource URLs. This would allow us, via * registration of a URLStreamHandlerFactory, to control how the resources are accessed and ensure that all - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 10.1.x updated: Reformat comment so format is retained when auto-formatting
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 3f521ea6f4 Reformat comment so format is retained when auto-formatting 3f521ea6f4 is described below commit 3f521ea6f4c8d54d928300cb8700b44dd83227c8 Author: Mark Thomas AuthorDate: Thu Mar 23 13:59:27 2023 + Reformat comment so format is retained when auto-formatting --- java/org/apache/catalina/webresources/CachedResource.java | 12 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/java/org/apache/catalina/webresources/CachedResource.java b/java/org/apache/catalina/webresources/CachedResource.java index 55639a816f..07f479e062 100644 --- a/java/org/apache/catalina/webresources/CachedResource.java +++ b/java/org/apache/catalina/webresources/CachedResource.java @@ -316,10 +316,14 @@ public class CachedResource implements WebResource { /* * We don't want applications using this URL to access the resource directly as that could lead to inconsistent * results when the resource is updated on the file system but the cache entry has not yet expired. We saw this, - * for example, in JSP compilation. - last modified time was obtained via - * ServletContext.getResource("path").openConnection().getLastModified() - JSP content was obtained via - * ServletContext.getResourceAsStream("path") The result was that the JSP modification was detected but the JSP - * content was read from the cache so the non-updated JSP page was used to generate the .java and .class file + * for example, in JSP compilation. + * + * - last modified time was obtained via ServletContext.getResource("path").openConnection().getLastModified() + * + * - JSP content was obtained via ServletContext.getResourceAsStream("path") + * + * The result was that the JSP modification was detected but the JSP content was read from the cache so the + * non-updated JSP page was used to generate the .java and .class file * * One option to resolve this issue is to use a custom URL scheme for resource URLs. This would allow us, via * registration of a URLStreamHandlerFactory, to control how the resources are accessed and ensure that all - 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: Reformat comment so format is retained when auto-formatting
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 a923e1272b Reformat comment so format is retained when auto-formatting a923e1272b is described below commit a923e1272bf3d023528848069f076532ad28f8ca Author: Mark Thomas AuthorDate: Thu Mar 23 13:59:27 2023 + Reformat comment so format is retained when auto-formatting --- java/org/apache/catalina/webresources/CachedResource.java | 12 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/java/org/apache/catalina/webresources/CachedResource.java b/java/org/apache/catalina/webresources/CachedResource.java index 55639a816f..07f479e062 100644 --- a/java/org/apache/catalina/webresources/CachedResource.java +++ b/java/org/apache/catalina/webresources/CachedResource.java @@ -316,10 +316,14 @@ public class CachedResource implements WebResource { /* * We don't want applications using this URL to access the resource directly as that could lead to inconsistent * results when the resource is updated on the file system but the cache entry has not yet expired. We saw this, - * for example, in JSP compilation. - last modified time was obtained via - * ServletContext.getResource("path").openConnection().getLastModified() - JSP content was obtained via - * ServletContext.getResourceAsStream("path") The result was that the JSP modification was detected but the JSP - * content was read from the cache so the non-updated JSP page was used to generate the .java and .class file + * for example, in JSP compilation. + * + * - last modified time was obtained via ServletContext.getResource("path").openConnection().getLastModified() + * + * - JSP content was obtained via ServletContext.getResourceAsStream("path") + * + * The result was that the JSP modification was detected but the JSP content was read from the cache so the + * non-updated JSP page was used to generate the .java and .class file * * One option to resolve this issue is to use a custom URL scheme for resource URLs. This would allow us, via * registration of a URLStreamHandlerFactory, to control how the resources are accessed and ensure that all - 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: Reformat comment so format is retained when auto-formatting
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 1dfb4b77e8 Reformat comment so format is retained when auto-formatting 1dfb4b77e8 is described below commit 1dfb4b77e8720453961b48246461e13295baf216 Author: Mark Thomas AuthorDate: Thu Mar 23 13:59:27 2023 + Reformat comment so format is retained when auto-formatting --- java/org/apache/catalina/webresources/CachedResource.java | 12 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/java/org/apache/catalina/webresources/CachedResource.java b/java/org/apache/catalina/webresources/CachedResource.java index 55639a816f..07f479e062 100644 --- a/java/org/apache/catalina/webresources/CachedResource.java +++ b/java/org/apache/catalina/webresources/CachedResource.java @@ -316,10 +316,14 @@ public class CachedResource implements WebResource { /* * We don't want applications using this URL to access the resource directly as that could lead to inconsistent * results when the resource is updated on the file system but the cache entry has not yet expired. We saw this, - * for example, in JSP compilation. - last modified time was obtained via - * ServletContext.getResource("path").openConnection().getLastModified() - JSP content was obtained via - * ServletContext.getResourceAsStream("path") The result was that the JSP modification was detected but the JSP - * content was read from the cache so the non-updated JSP page was used to generate the .java and .class file + * for example, in JSP compilation. + * + * - last modified time was obtained via ServletContext.getResource("path").openConnection().getLastModified() + * + * - JSP content was obtained via ServletContext.getResourceAsStream("path") + * + * The result was that the JSP modification was detected but the JSP content was read from the cache so the + * non-updated JSP page was used to generate the .java and .class file * * One option to resolve this issue is to use a custom URL scheme for resource URLs. This would allow us, via * registration of a URLStreamHandlerFactory, to control how the resources are accessed and ensure that all - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch main updated: Fix bug in RFC 7616 updates identified by SpotBugs
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 1ff01ceca8 Fix bug in RFC 7616 updates identified by SpotBugs 1ff01ceca8 is described below commit 1ff01ceca8e1d595d9973882df0b81ed11cf7b70 Author: Mark Thomas AuthorDate: Thu Mar 23 14:26:19 2023 + Fix bug in RFC 7616 updates identified by SpotBugs --- java/org/apache/catalina/realm/JAASMemoryLoginModule.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/org/apache/catalina/realm/JAASMemoryLoginModule.java b/java/org/apache/catalina/realm/JAASMemoryLoginModule.java index 75f3677d99..0c2c6aa5e6 100644 --- a/java/org/apache/catalina/realm/JAASMemoryLoginModule.java +++ b/java/org/apache/catalina/realm/JAASMemoryLoginModule.java @@ -239,7 +239,7 @@ public class JAASMemoryLoginModule extends MemoryRealm implements LoginModule { if (callbackHandler == null) { throw new LoginException(sm.getString("jaasMemoryLoginModule.noCallbackHandler")); } -Callback callbacks[] = new Callback[9]; +Callback callbacks[] = new Callback[10]; callbacks[0] = new NameCallback("Username: "); callbacks[1] = new PasswordCallback("Password: ", false); callbacks[2] = new TextInputCallback("nonce"); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 10.1.x updated: Fix bug in RFC 7616 updates identified by SpotBugs
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 b9d3b397cd Fix bug in RFC 7616 updates identified by SpotBugs b9d3b397cd is described below commit b9d3b397cde152b3148107edb68754ce4402b9ef Author: Mark Thomas AuthorDate: Thu Mar 23 14:26:19 2023 + Fix bug in RFC 7616 updates identified by SpotBugs --- java/org/apache/catalina/realm/JAASMemoryLoginModule.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/org/apache/catalina/realm/JAASMemoryLoginModule.java b/java/org/apache/catalina/realm/JAASMemoryLoginModule.java index 75f3677d99..0c2c6aa5e6 100644 --- a/java/org/apache/catalina/realm/JAASMemoryLoginModule.java +++ b/java/org/apache/catalina/realm/JAASMemoryLoginModule.java @@ -239,7 +239,7 @@ public class JAASMemoryLoginModule extends MemoryRealm implements LoginModule { if (callbackHandler == null) { throw new LoginException(sm.getString("jaasMemoryLoginModule.noCallbackHandler")); } -Callback callbacks[] = new Callback[9]; +Callback callbacks[] = new Callback[10]; callbacks[0] = new NameCallback("Username: "); callbacks[1] = new PasswordCallback("Password: ", false); callbacks[2] = new TextInputCallback("nonce"); - 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: Fix bug in RFC 7616 updates identified by SpotBugs
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 7fc0c90b69 Fix bug in RFC 7616 updates identified by SpotBugs 7fc0c90b69 is described below commit 7fc0c90b69cf3b1afc76d1856194e38ad491484b Author: Mark Thomas AuthorDate: Thu Mar 23 14:26:19 2023 + Fix bug in RFC 7616 updates identified by SpotBugs --- java/org/apache/catalina/realm/JAASMemoryLoginModule.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/org/apache/catalina/realm/JAASMemoryLoginModule.java b/java/org/apache/catalina/realm/JAASMemoryLoginModule.java index 35d35ce534..94a4078f40 100644 --- a/java/org/apache/catalina/realm/JAASMemoryLoginModule.java +++ b/java/org/apache/catalina/realm/JAASMemoryLoginModule.java @@ -238,7 +238,7 @@ public class JAASMemoryLoginModule extends MemoryRealm implements LoginModule { if (callbackHandler == null) { throw new LoginException(sm.getString("jaasMemoryLoginModule.noCallbackHandler")); } -Callback callbacks[] = new Callback[9]; +Callback callbacks[] = new Callback[10]; callbacks[0] = new NameCallback("Username: "); callbacks[1] = new PasswordCallback("Password: ", false); callbacks[2] = new TextInputCallback("nonce"); - 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 bug in RFC 7616 updates identified by SpotBugs
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 a8a72de1a3 Fix bug in RFC 7616 updates identified by SpotBugs a8a72de1a3 is described below commit a8a72de1a32b0f8d38835a39a513390340766cfd Author: Mark Thomas AuthorDate: Thu Mar 23 14:26:19 2023 + Fix bug in RFC 7616 updates identified by SpotBugs --- java/org/apache/catalina/realm/JAASMemoryLoginModule.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/org/apache/catalina/realm/JAASMemoryLoginModule.java b/java/org/apache/catalina/realm/JAASMemoryLoginModule.java index a10956018e..5ede590c04 100644 --- a/java/org/apache/catalina/realm/JAASMemoryLoginModule.java +++ b/java/org/apache/catalina/realm/JAASMemoryLoginModule.java @@ -238,7 +238,7 @@ public class JAASMemoryLoginModule extends MemoryRealm implements LoginModule { if (callbackHandler == null) { throw new LoginException("No CallbackHandler specified"); } -Callback callbacks[] = new Callback[9]; +Callback callbacks[] = new Callback[10]; callbacks[0] = new NameCallback("Username: "); callbacks[1] = new PasswordCallback("Password: ", false); callbacks[2] = new TextInputCallback("nonce"); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch main updated: Fix typo
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 6416c67ec5 Fix typo 6416c67ec5 is described below commit 6416c67ec5e55c265782723484e9dd958e027c7f Author: Mark Thomas AuthorDate: Thu Mar 23 14:38:13 2023 + Fix typo --- webapps/docs/config/cluster-deployer.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webapps/docs/config/cluster-deployer.xml b/webapps/docs/config/cluster-deployer.xml index f956e46fbc..247948721f 100644 --- a/webapps/docs/config/cluster-deployer.xml +++ b/webapps/docs/config/cluster-deployer.xml @@ -84,7 +84,7 @@ attribute will have no effect. -FileMessageFactory instances used by the FarmWarDeployer are only +FileMessageFactory instances used by the FarmWarDeployer are only retained while they are required. When receiving a WAR file, the associated FileMessageFactory instance is deleted once the WAR file has been fully received. To avoid memory leaks under various error @@ -94,7 +94,7 @@ maximum time is exceeded, the FileMessageFactory will be deleted and the WAR file transfer will fail for that node. If a negative value is specified, the FileMessageFactory will only be removed once the WAR file -is fully recieved. If not specified, the default value of 300 (5 +is fully received. If not specified, the default value of 300 (5 minutes) will be used. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 10.1.x updated: Fix typo
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 2fc07c32d1 Fix typo 2fc07c32d1 is described below commit 2fc07c32d170e3826f25f107c37fb6b87bfc50f2 Author: Mark Thomas AuthorDate: Thu Mar 23 14:38:13 2023 + Fix typo --- webapps/docs/config/cluster-deployer.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webapps/docs/config/cluster-deployer.xml b/webapps/docs/config/cluster-deployer.xml index f956e46fbc..247948721f 100644 --- a/webapps/docs/config/cluster-deployer.xml +++ b/webapps/docs/config/cluster-deployer.xml @@ -84,7 +84,7 @@ attribute will have no effect. -FileMessageFactory instances used by the FarmWarDeployer are only +FileMessageFactory instances used by the FarmWarDeployer are only retained while they are required. When receiving a WAR file, the associated FileMessageFactory instance is deleted once the WAR file has been fully received. To avoid memory leaks under various error @@ -94,7 +94,7 @@ maximum time is exceeded, the FileMessageFactory will be deleted and the WAR file transfer will fail for that node. If a negative value is specified, the FileMessageFactory will only be removed once the WAR file -is fully recieved. If not specified, the default value of 300 (5 +is fully received. If not specified, the default value of 300 (5 minutes) will be used. - 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: Fix typo
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 30ac25abcf Fix typo 30ac25abcf is described below commit 30ac25abcf6ce457fc7eea02d67cfb48376f04b4 Author: Mark Thomas AuthorDate: Thu Mar 23 14:38:13 2023 + Fix typo --- webapps/docs/config/cluster-deployer.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webapps/docs/config/cluster-deployer.xml b/webapps/docs/config/cluster-deployer.xml index f956e46fbc..247948721f 100644 --- a/webapps/docs/config/cluster-deployer.xml +++ b/webapps/docs/config/cluster-deployer.xml @@ -84,7 +84,7 @@ attribute will have no effect. -FileMessageFactory instances used by the FarmWarDeployer are only +FileMessageFactory instances used by the FarmWarDeployer are only retained while they are required. When receiving a WAR file, the associated FileMessageFactory instance is deleted once the WAR file has been fully received. To avoid memory leaks under various error @@ -94,7 +94,7 @@ maximum time is exceeded, the FileMessageFactory will be deleted and the WAR file transfer will fail for that node. If a negative value is specified, the FileMessageFactory will only be removed once the WAR file -is fully recieved. If not specified, the default value of 300 (5 +is fully received. If not specified, the default value of 300 (5 minutes) will be used. - 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 typo
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 0e083ae474 Fix typo 0e083ae474 is described below commit 0e083ae4745a68504e8ec128674a4d0d937ca026 Author: Mark Thomas AuthorDate: Thu Mar 23 14:38:13 2023 + Fix typo --- webapps/docs/config/cluster-deployer.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webapps/docs/config/cluster-deployer.xml b/webapps/docs/config/cluster-deployer.xml index f956e46fbc..247948721f 100644 --- a/webapps/docs/config/cluster-deployer.xml +++ b/webapps/docs/config/cluster-deployer.xml @@ -84,7 +84,7 @@ attribute will have no effect. -FileMessageFactory instances used by the FarmWarDeployer are only +FileMessageFactory instances used by the FarmWarDeployer are only retained while they are required. When receiving a WAR file, the associated FileMessageFactory instance is deleted once the WAR file has been fully received. To avoid memory leaks under various error @@ -94,7 +94,7 @@ maximum time is exceeded, the FileMessageFactory will be deleted and the WAR file transfer will fail for that node. If a negative value is specified, the FileMessageFactory will only be removed once the WAR file -is fully recieved. If not specified, the default value of 300 (5 +is fully received. If not specified, the default value of 300 (5 minutes) will be used. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch main updated: Fix BZ 66541 - Improve handling of URLs for cached resources
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 1997d2f62e Fix BZ 66541 - Improve handling of URLs for cached resources 1997d2f62e is described below commit 1997d2f62eb87db7c81e0136862cef4ca31c4fe5 Author: Mark Thomas AuthorDate: Thu Mar 23 14:50:17 2023 + Fix BZ 66541 - Improve handling of URLs for cached resources Improve handling for cached resources for resources that use custom URL schemes. The scheme specific equals() and hashcode() algorithms, if present, will now be used for URLs for these resources. This addresses a potential performance issue with some OSGi custom URL schemes that can trigger potentially slow DNS lookups in some configurations. --- .../catalina/webresources/CachedResource.java | 34 ++ res/spotbugs/filter-false-positives.xml| 9 ++ webapps/docs/changelog.xml | 8 + 3 files changed, 51 insertions(+) diff --git a/java/org/apache/catalina/webresources/CachedResource.java b/java/org/apache/catalina/webresources/CachedResource.java index 80937068dc..8cd119752a 100644 --- a/java/org/apache/catalina/webresources/CachedResource.java +++ b/java/org/apache/catalina/webresources/CachedResource.java @@ -456,6 +456,40 @@ public class CachedResource implements WebResource { return constructedURL.openConnection(); } } + +/** + * {@inheritDoc} + * + * We don't know what the requirements are for equals for the wrapped resourceURL so if u1 is the wrapped + * resourceURL, delegate to the resourceURL and it's handler. Otherwise, use the default implementation from + * URLStreamHandler. + */ +@Override +protected boolean equals(URL u1, URL u2) { +// Deliberate use of == +if (resourceURL == u1) { +return resourceURL.equals(u2); +} +// Not the original resourceURL. Use the default implementation from URLStreamHandler. +return super.equals(u1, u2); +} + +/** + * {@inheritDoc} + * + * We don't know what the requirements are for hashcode for the wrapped resourceURL so if u1 is the wrapped + * resourceURL, delegate to the resourceURL and it's handler. Otherwise, use the default implementation from + * URLStreamHandler. + */ +@Override +protected int hashCode(URL u) { +// Deliberate use of == +if (resourceURL == u) { +return resourceURL.hashCode(); +} +// Not the original resourceURL. Use the default implementation from URLStreamHandler. +return super.hashCode(u); +} } diff --git a/res/spotbugs/filter-false-positives.xml b/res/spotbugs/filter-false-positives.xml index 7febcbb7bf..b9c6f0b7cc 100644 --- a/res/spotbugs/filter-false-positives.xml +++ b/res/spotbugs/filter-false-positives.xml @@ -886,6 +886,15 @@ + + + + + + + + + diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index a33c5beae6..f6b86f7021 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -166,6 +166,14 @@ This aligns with the current draft of the Servlet 6.1 specification. (markt) + +66541: Improve handling for cached resources for resources +that use custom URL schemes. The scheme specific equals() +and hashcode() algorithms, if present, will now be used for +URLs for these resources. This addresses a potential performance issue +with some OSGi custom URL schemes that can trigger potentially slow DNS +lookups in some configurations. (markt) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 10.1.x updated: Fix BZ 66541 - Improve handling of URLs for cached resources
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 4b2d8d7045 Fix BZ 66541 - Improve handling of URLs for cached resources 4b2d8d7045 is described below commit 4b2d8d70454980687d36aff1b6a0353d005f5c8d Author: Mark Thomas AuthorDate: Thu Mar 23 14:50:17 2023 + Fix BZ 66541 - Improve handling of URLs for cached resources Improve handling for cached resources for resources that use custom URL schemes. The scheme specific equals() and hashcode() algorithms, if present, will now be used for URLs for these resources. This addresses a potential performance issue with some OSGi custom URL schemes that can trigger potentially slow DNS lookups in some configurations. --- .../catalina/webresources/CachedResource.java | 34 ++ res/spotbugs/filter-false-positives.xml| 9 ++ webapps/docs/changelog.xml | 8 + 3 files changed, 51 insertions(+) diff --git a/java/org/apache/catalina/webresources/CachedResource.java b/java/org/apache/catalina/webresources/CachedResource.java index 07f479e062..f4894c7172 100644 --- a/java/org/apache/catalina/webresources/CachedResource.java +++ b/java/org/apache/catalina/webresources/CachedResource.java @@ -461,6 +461,40 @@ public class CachedResource implements WebResource { return constructedURL.openConnection(); } } + +/** + * {@inheritDoc} + * + * We don't know what the requirements are for equals for the wrapped resourceURL so if u1 is the wrapped + * resourceURL, delegate to the resourceURL and it's handler. Otherwise, use the default implementation from + * URLStreamHandler. + */ +@Override +protected boolean equals(URL u1, URL u2) { +// Deliberate use of == +if (resourceURL == u1) { +return resourceURL.equals(u2); +} +// Not the original resourceURL. Use the default implementation from URLStreamHandler. +return super.equals(u1, u2); +} + +/** + * {@inheritDoc} + * + * We don't know what the requirements are for hashcode for the wrapped resourceURL so if u1 is the wrapped + * resourceURL, delegate to the resourceURL and it's handler. Otherwise, use the default implementation from + * URLStreamHandler. + */ +@Override +protected int hashCode(URL u) { +// Deliberate use of == +if (resourceURL == u) { +return resourceURL.hashCode(); +} +// Not the original resourceURL. Use the default implementation from URLStreamHandler. +return super.hashCode(u); +} } diff --git a/res/spotbugs/filter-false-positives.xml b/res/spotbugs/filter-false-positives.xml index 34d05bf62d..92f17fbe23 100644 --- a/res/spotbugs/filter-false-positives.xml +++ b/res/spotbugs/filter-false-positives.xml @@ -886,6 +886,15 @@ + + + + + + + + + diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 51039b7e2f..ac14b072c3 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -151,6 +151,14 @@ be skipped when generating a response to a TRACE request. This aligns with 11.0.x. (markt) + +66541: Improve handling for cached resources for resources +that use custom URL schemes. The scheme specific equals() +and hashcode() algorithms, if present, will now be used for +URLs for these resources. This addresses a potential performance issue +with some OSGi custom URL schemes that can trigger potentially slow DNS +lookups in some configurations. (markt) + - 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: Fix BZ 66541 - Improve handling of URLs for cached resources
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 01e8f9ce36 Fix BZ 66541 - Improve handling of URLs for cached resources 01e8f9ce36 is described below commit 01e8f9ce36dee1e7cf0aa28e94427f2967a24138 Author: Mark Thomas AuthorDate: Thu Mar 23 14:50:17 2023 + Fix BZ 66541 - Improve handling of URLs for cached resources Improve handling for cached resources for resources that use custom URL schemes. The scheme specific equals() and hashcode() algorithms, if present, will now be used for URLs for these resources. This addresses a potential performance issue with some OSGi custom URL schemes that can trigger potentially slow DNS lookups in some configurations. --- .../catalina/webresources/CachedResource.java | 34 ++ res/spotbugs/filter-false-positives.xml| 9 ++ webapps/docs/changelog.xml | 8 + 3 files changed, 51 insertions(+) diff --git a/java/org/apache/catalina/webresources/CachedResource.java b/java/org/apache/catalina/webresources/CachedResource.java index 07f479e062..f4894c7172 100644 --- a/java/org/apache/catalina/webresources/CachedResource.java +++ b/java/org/apache/catalina/webresources/CachedResource.java @@ -461,6 +461,40 @@ public class CachedResource implements WebResource { return constructedURL.openConnection(); } } + +/** + * {@inheritDoc} + * + * We don't know what the requirements are for equals for the wrapped resourceURL so if u1 is the wrapped + * resourceURL, delegate to the resourceURL and it's handler. Otherwise, use the default implementation from + * URLStreamHandler. + */ +@Override +protected boolean equals(URL u1, URL u2) { +// Deliberate use of == +if (resourceURL == u1) { +return resourceURL.equals(u2); +} +// Not the original resourceURL. Use the default implementation from URLStreamHandler. +return super.equals(u1, u2); +} + +/** + * {@inheritDoc} + * + * We don't know what the requirements are for hashcode for the wrapped resourceURL so if u1 is the wrapped + * resourceURL, delegate to the resourceURL and it's handler. Otherwise, use the default implementation from + * URLStreamHandler. + */ +@Override +protected int hashCode(URL u) { +// Deliberate use of == +if (resourceURL == u) { +return resourceURL.hashCode(); +} +// Not the original resourceURL. Use the default implementation from URLStreamHandler. +return super.hashCode(u); +} } diff --git a/res/spotbugs/filter-false-positives.xml b/res/spotbugs/filter-false-positives.xml index 2c0bea1d7b..96a4bfcc69 100644 --- a/res/spotbugs/filter-false-positives.xml +++ b/res/spotbugs/filter-false-positives.xml @@ -914,6 +914,15 @@ + + + + + + + + + diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 57bc93bfcd..0a64a52983 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -151,6 +151,14 @@ be skipped when generating a response to a TRACE request. This aligns with 11.0.x. (markt) + +66541: Improve handling for cached resources for resources +that use custom URL schemes. The scheme specific equals() +and hashcode() algorithms, if present, will now be used for +URLs for these resources. This addresses a potential performance issue +with some OSGi custom URL schemes that can trigger potentially slow DNS +lookups in some configurations. (markt) + - 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 BZ 66541 - Improve handling of URLs for cached resources
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 5f653b1bad Fix BZ 66541 - Improve handling of URLs for cached resources 5f653b1bad is described below commit 5f653b1bad0d64b5ed3efe7bb41a28da952fe5ad Author: Mark Thomas AuthorDate: Thu Mar 23 14:50:17 2023 + Fix BZ 66541 - Improve handling of URLs for cached resources Improve handling for cached resources for resources that use custom URL schemes. The scheme specific equals() and hashcode() algorithms, if present, will now be used for URLs for these resources. This addresses a potential performance issue with some OSGi custom URL schemes that can trigger potentially slow DNS lookups in some configurations. --- .../catalina/webresources/CachedResource.java | 34 ++ res/spotbugs/filter-false-positives.xml| 9 ++ webapps/docs/changelog.xml | 8 + 3 files changed, 51 insertions(+) diff --git a/java/org/apache/catalina/webresources/CachedResource.java b/java/org/apache/catalina/webresources/CachedResource.java index 07f479e062..f4894c7172 100644 --- a/java/org/apache/catalina/webresources/CachedResource.java +++ b/java/org/apache/catalina/webresources/CachedResource.java @@ -461,6 +461,40 @@ public class CachedResource implements WebResource { return constructedURL.openConnection(); } } + +/** + * {@inheritDoc} + * + * We don't know what the requirements are for equals for the wrapped resourceURL so if u1 is the wrapped + * resourceURL, delegate to the resourceURL and it's handler. Otherwise, use the default implementation from + * URLStreamHandler. + */ +@Override +protected boolean equals(URL u1, URL u2) { +// Deliberate use of == +if (resourceURL == u1) { +return resourceURL.equals(u2); +} +// Not the original resourceURL. Use the default implementation from URLStreamHandler. +return super.equals(u1, u2); +} + +/** + * {@inheritDoc} + * + * We don't know what the requirements are for hashcode for the wrapped resourceURL so if u1 is the wrapped + * resourceURL, delegate to the resourceURL and it's handler. Otherwise, use the default implementation from + * URLStreamHandler. + */ +@Override +protected int hashCode(URL u) { +// Deliberate use of == +if (resourceURL == u) { +return resourceURL.hashCode(); +} +// Not the original resourceURL. Use the default implementation from URLStreamHandler. +return super.hashCode(u); +} } diff --git a/res/spotbugs/filter-false-positives.xml b/res/spotbugs/filter-false-positives.xml index dfb6b186d9..3e8629aac4 100644 --- a/res/spotbugs/filter-false-positives.xml +++ b/res/spotbugs/filter-false-positives.xml @@ -883,6 +883,15 @@ + + + + + + + + + diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 10ab299e6c..afab168f00 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -146,6 +146,14 @@ Add support code for custom user attributes in RealmBase. Based on code from 473 by Carsten Klein. (remm) + +66541: Improve handling for cached resources for resources +that use custom URL schemes. The scheme specific equals() +and hashcode() algorithms, if present, will now be used for +URLs for these resources. This addresses a potential performance issue +with some OSGi custom URL schemes that can trigger potentially slow DNS +lookups in some configurations. (markt) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 66541] CachedResource for OSGi URL resources changes URL hashing behavior & exacerbates DNS issues
https://bz.apache.org/bugzilla/show_bug.cgi?id=66541 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from Mark Thomas --- Thanks for the detailed explanation. That makes sense. I've applied a fix that should address the performance issue. Fixed in: - 11.0.x for 11.0.0-M5 onwards - 10.1.x for 10.1.8 onwards - 9.0.x for 9.0.74 onwards - 8.5.x for 8.5.88 onwards If you want to test the fix and provide feedback before the next release, I have provided a dev build here: https://people.apache.org/~markt/dev/v8.5.88-dev/ Usual caveats apply for a dev build: It isn't an official release so use it at your own risk. -- 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
[tomcat] branch main updated: Need to reference inner class
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 07cccd3db8 Need to reference inner class 07cccd3db8 is described below commit 07cccd3db835dc7c590b5f9430bf72d4e3fa9838 Author: Mark Thomas AuthorDate: Thu Mar 23 15:19:33 2023 + Need to reference inner class --- res/spotbugs/filter-false-positives.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/spotbugs/filter-false-positives.xml b/res/spotbugs/filter-false-positives.xml index b9c6f0b7cc..ac59de62b1 100644 --- a/res/spotbugs/filter-false-positives.xml +++ b/res/spotbugs/filter-false-positives.xml @@ -888,7 +888,7 @@ - + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 10.1.x updated: Need to reference inner class
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 5cf4a68b8f Need to reference inner class 5cf4a68b8f is described below commit 5cf4a68b8fbe7eff71af88e513370821c085cd93 Author: Mark Thomas AuthorDate: Thu Mar 23 15:19:33 2023 + Need to reference inner class --- res/spotbugs/filter-false-positives.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/spotbugs/filter-false-positives.xml b/res/spotbugs/filter-false-positives.xml index 92f17fbe23..b4803fa483 100644 --- a/res/spotbugs/filter-false-positives.xml +++ b/res/spotbugs/filter-false-positives.xml @@ -888,7 +888,7 @@ - + - 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: Need to reference inner class
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 1ebe045220 Need to reference inner class 1ebe045220 is described below commit 1ebe0452207ad148ffb6917dd54adfc9d331cd7a Author: Mark Thomas AuthorDate: Thu Mar 23 15:19:33 2023 + Need to reference inner class --- res/spotbugs/filter-false-positives.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/spotbugs/filter-false-positives.xml b/res/spotbugs/filter-false-positives.xml index 96a4bfcc69..90429a9ec2 100644 --- a/res/spotbugs/filter-false-positives.xml +++ b/res/spotbugs/filter-false-positives.xml @@ -916,7 +916,7 @@ - + - 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: Need to reference inner class
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 259f2aa5f0 Need to reference inner class 259f2aa5f0 is described below commit 259f2aa5f037a540fda4a48da48c6d06a8ebfd70 Author: Mark Thomas AuthorDate: Thu Mar 23 15:19:33 2023 + Need to reference inner class --- res/spotbugs/filter-false-positives.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/spotbugs/filter-false-positives.xml b/res/spotbugs/filter-false-positives.xml index 3e8629aac4..7832325647 100644 --- a/res/spotbugs/filter-false-positives.xml +++ b/res/spotbugs/filter-false-positives.xml @@ -885,7 +885,7 @@ - + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Reduce default for maxParameterCount
On 23/03/2023 12:02, Konstantin Kolinko wrote: Thanks for the continued feedback. Having someone to bounce ideas off is really helpful. ср, 22 мар. 2023 г. в 14:38, Mark Thomas : Any more thoughts on this? 1. If we cannot agree on the required behaviour, it is one more reason to make it configurable. I think you are right. I have proposed a new RequestParameterErrorListener over at https://github.com/jakartaee/servlet/issues/431 The details aren't defined yet. I'm just looking for consensus on the general approach at this point. As I said, it would be more useful to configure it at a Context. Agreed. 2. Regarding the default behaviour, Throwing an exception was also my first thought, and it seems more natural. Valid cases are being made for both throwing an exception and ignoring the error. Which is what makes this so tricky. I'm thinking default to current behaviour but with simple options on the context to change to other approaches. Regarding implementation, I thought that in org.apache.catalina.connector.Request all lines if (!parametersParsed) { parseParameters(); } could be amended with "if (parseFailed) throw new IllegalStateException(parseFailedReason)", or maybe put this "throw" into parseParameters(). BTW, Spring Framework has a feature that routing of requests can be configured with annotations. https://docs.spring.io/spring-framework/docs/5.3.25/reference/html/web.html#mvc-ann-requestmapping-params-and-headers In this case parameters parsing is hidden from the caller (done by framework), and also a Request may be omitted from method signature (so one wouldn't check its attributes to check for failed parsing). In this case it makes sense to throw an exception to report a failure. Agreed. 3. Regarding UserDataHelper, 1) If we rely on it, it means being too late. At the time one considers reading the logs, data loss has already happened. 2) If you look at my mail regarding code paths (7th email in this thread), if I have read the code correctly, I think that in case of "d) Request.getParameter() was called, and request was "multipart/form-data"." there is no logging. That probably needs fixing. 4. Regarding the value for maxParameterCount 500 parameters may mean 100 rows of 5 values each; 100 rows may mean daily values for 3 months. 1000 parameters may mean a year of daily data with 3 values each day. It is not what one would frequently see in practice, but it could happen. There hasn't been much movement from the spec EG on this, so my current thinking is to revert this change for 10.1.x and earlier to wait and see what the Servlet EG decides. I'm still leaning in this direction at the moment. 5. If someone is thinking about improved API, a) I wonder whether ExtendedAccessLogValve calling of getParameter() could be improved, so that it does not trigger parameter parsing that includes reading the body of a POST. Or maybe do reading, but with a lower timeout. Essentially in the same way as when skipping a body of a failed request. It is not a job for an AccessLogValve to spend time on parameter parsing. b) I wonder whether parameter parsing could be done asynchronously. I have seen feature requests along those lines. async is going to complicate error handling. But the error listener may help here. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Reduce default for maxParameterCount
Mark, On 3/22/23 07:38, Mark Thomas wrote: Any more thoughts on this? There hasn't been much movement from the spec EG on this, so my current thinking is to revert this change for 10.1.x and earlier to wait and see what the Servlet EG decides. I'd like to leave our changes in, but I understand that Konstantin has a good point about silently discarding parameters. There is no particular reason not to implement option (c) (throw RuntimeException if the maximum number of parameters is exceeded). Anyone affected by it can change the setting, and an appropriate error message can direct operators to that setting to make it easy. -chris On 15/03/2023 15:05, Mark Thomas wrote: On 15/03/2023 11:22, Konstantin Kolinko wrote: ср, 15 мар. 2023 г. в 13:29, Konstantin Kolinko : ср, 15 мар. 2023 г. в 13:15, Konstantin Kolinko : ср, 15 мар. 2023 г. в 12:07, Mark Thomas : On 14/03/2023 21:13, Christopher Schultz wrote: On 3/14/23 13:57, Mark Thomas wrote: On 09/03/2023 14:23, Christopher Schultz wrote: I would go for a 1000 limit for all currently-supported versions. It's *very* easy to raise the limit if it interferes with a specific application's functions. I *would* add an entry in the "notable changes" for each release e.g. https://tomcat.apache.org/migration-10.1.html#Tomcat_10.1.x_noteable_changes Makes sense. I'll do that. -1 unless the behaviour of "silently dropping extra parameters" is changed as well. Silent loss of data is not what I want to see in production. Fair point. Although I'll note that that is exactly what happens if the current limit is exceeded. I accept that, by lowering the limit, it is now more likely that limit will be exceeded. How much more likely I don't know and I don't think we have any reasonable way to determine. Also, the failure isn't completely silent. There will be an INFO log message the first time it happens in a 24 hour period. Proposals: 1. I think that maxParameterCount would better be configured per-Context. The count of parameters is a property of a specific web application. Makes sense. As an migration path for 10.1.x, 9.0.x and 8.5.x, do we want to make the Connector attribute the default to be used if a value is not explicitly set on the Context? That makes the new feature backwards compatible. We can remove the Connector setting in 11.0.x. 2. I wonder if we can make handling of the errors configurable. I think that the following options are possible: a) Drop parameters that exceeded the limit, or failed to decode. This is what we do now. b) If there is any error, ignore all parameters and behave as if none were provided. I'm wary of doing anything that will cause currently working applications to start breaking. c) Blow up by throwing a RuntimeException for any call to Request.getParameter() methods. It may be an IllegalStateException. This topic (error handling in parameters) is currently under discussion in the Servlet EG (https://github.com/jakartaee/servlet/issues/431). That discussion isn't particularly active but it is one of the current servlet issues on my TODO list so there will hopefully be some progress. My first thought was to go with c). I know that it contradicts with Servlet API JavaDoc, but if it is configurable then it is a possible option. I suppose that a web application should have error handling configured and should be able to deal with errors. If we go with c), it requires adding try/catch to safeguard getParameter() calls in the following classes of Tomcat: - org.apache.catalina.filters.FailedRequestFilter - org.apache.catalina.valves.ExtendedAccessLogValve (The ExtendedAccessLogValve can be configured to log the value of a parameter.) 3. I propose to change the default behaviour to b), "ignoring all parameters". The loss of data will be clearly visible to the applications. It would not go unnoted. In an ideal world, the Servlet spec would have opted for c) from the start. I wonder if it might not be better to revert this change for 10.1.x and earlier until the Servlet EG resolves #431 and then reconsider our options with (potentially) a new default behaviour in 11.0.x. If we don't revert then, of the current options: My concern with both b) and c) is that they could break applications that currently work. I don't like doing that if we don't have to in a point release. That leaves a). My main concern with a) is how to raise visibility of exceeding the limit. What if we changed the way UserDataHelper works (or introduced something new) that limited the number of log messages per period and thereby avoided the DoS risk via excessive logging but still generated enough log messages to raise awareness of the issue. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org -
[Bug 66508] Tomcat after a GC pause causes the HTTP threads to be blocked to acquire a semaphore to process WebSockets connection closure.
https://bz.apache.org/bugzilla/show_bug.cgi?id=66508 --- Comment #17 from Venkata Manda --- Excuse me for the delayed response. Please find below our connector configuration: protocol=org.apache.coyote.http11.Http11Nio2Protocol tomcat.connector.all.enableLookups=false tomcat.connector.all.URIEncoding=ISO-8859-1 tomcat.connector.all.connectionTimeout=2 tomcat.connector.all.disableUploadTimeout=true tomcat.connector.main.redirectPort=8443 tomcat.connector.main.maxThreads=50 tomcat.connector.main.minSpareThreads=50 tomcat.connector.main.acceptCount=500 tomcat.connector.main.maxConnections=1 tomcat.connector.main.relaxedQueryChars="<>[\]^{|} tomcat.connector.main.relaxedPathChars="<>[\\]^{|} tomcat.connector.secure.port=8443 tomcat.connector.secure.scheme=https tomcat.connector.secure.secure=true tomcat.connector.secure.SSLEnabled=true tomcat.connector.secure.clientAuth=want tomcat.connector.secure.sslProtocol=TLS tomcat.connector.secure.algorithm=X509 org.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH=true org.apache.catalina.connector.RECYCLE_FACADES=true I am still working on sharing the stack trace that matches the source code of the publicly available tomcat version. I added a lot of log statements to get a better idea of the issue due to this the line numbers I see on my internal version may not match with the public version. Thanks. -- 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
[Bug 66542] New: JavaMail specification links are outdated in documentation
https://bz.apache.org/bugzilla/show_bug.cgi?id=66542 Bug ID: 66542 Summary: JavaMail specification links are outdated in documentation Product: Tomcat 10 Version: 10.1.7 Hardware: PC Status: NEW Severity: normal Priority: P2 Component: Documentation Assignee: dev@tomcat.apache.org Reporter: knst.koli...@gmail.com Target Milestone: -- At https://tomcat.apache.org/tomcat-10.1-doc/jndi-resources-howto.html#JavaMail_Sessions Looking at "JNDI Resources How-To" document of Tomcat 10.1.7, at its section titled "JavaMail Sessions". This section was updated to use a Jakarta EE package name (using "jakarta.mail.Session" etc.), but links reference old Java EE implementation of the API. 1. At "0. Introduction" "The Java Mail API" links to http://www.oracle.com/technetwork/java/javamail/index.html 2. At "4. Install the JavaMail libraries" "Download the JavaMail API." links to http://javamail.java.net/ that redirects to "https://javaee.github.io/javamail/";. A footer on that web site says "This project is now part of the EE4J initiative; its activity is temporarily paused until it has been effectively transferred to the Eclipse Foundation.". I think that the relevant specification is here: https://jakarta.ee/specifications/mail/ Not tested. -- 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
[Bug 66542] JavaMail specification links are outdated in documentation
https://bz.apache.org/bugzilla/show_bug.cgi?id=66542 Konstantin Kolinko changed: What|Removed |Added OS||All --- Comment #1 from Konstantin Kolinko --- > https://jakarta.ee/specifications/mail/ Note that a Jakarta EE specification is just an API. One needs an implementation of the spec. The "Jakarta Mail 2.1" specification page references the following project as a "Compatible Implementation": https://github.com/eclipse-ee4j/angus-mail Eclipse Angus - Mail (There may be other compatible implementations as well, not listed at the specification page.) -- 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
Getting listed under "Compatible Implementations" at Jakarta EE
Hi! Looking at the following specifications https://jakarta.ee/specifications/servlet/6.0/ https://jakarta.ee/specifications/pages/3.1/ https://jakarta.ee/specifications/expression-language/5.0/ https://jakarta.ee/specifications/websocket/2.1/ https://jakarta.ee/specifications/authentication/3.0/ I wonder why Apache Tomcat 10.1 is not listed under "Compatible Implementations". Maybe "Compatible Implementations" is a list of projects related to the voting process for that specification. But as such description (comment or disclaimer) is missing, it is odd to do not see Tomcat there. Best regards, Konstantin Kolinko - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org