[GitHub] [tomcat] horizonzy opened a new pull request #437: NamesEnumerator.nextElement npe fix.
horizonzy opened a new pull request #437: URL: https://github.com/apache/tomcat/pull/437 java.lang.NullPointerException: null at org.apache.tomcat.util.http.NamesEnumerator.findNext(MimeHeaders.java:434) at org.apache.tomcat.util.http.NamesEnumerator.nextElement(MimeHeaders.java:458) at org.apache.tomcat.util.http.NamesEnumerator.nextElement(MimeHeaders.java:416) at com.ly.mdb.store.utils.CheckListLogUtil.getHeaderStr(CheckListLogUtil.java:96) at com.ly.mdb.store.utils.CheckListLogUtil.lambda$logSuccess$0(CheckListLogUtil.java:64) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) -- 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 65460] http2 request hang with tomcat 9.0.50`s overhead protection
https://bz.apache.org/bugzilla/show_bug.cgi?id=65460 --- Comment #7 from dpy1123 --- sorry I think the overhead cout is fine, we try another api and got a different overhead count when issue happens. besides, we find some wired cases, pls see the reference: https://www.notion.so/dpy1123/tomcat9-0-50-hang-01a1f5527c944f919a700fc39fd9d58d -- 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
[GitHub] [tomcat] markt-asf commented on pull request #436: ant ide-eclipse lib update
markt-asf commented on pull request #436: URL: https://github.com/apache/tomcat/pull/436#issuecomment-884891065 LGTM. Thanks for the patch. Just a thought. If the versions were replaced with the relevant ${...} properties, and filtering enabled for the copy, there would be no need to keep these files in sync. -- 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
[tomcat] branch 10.0.x updated: ant ide-eclipse lib update
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.0.x by this push: new d39f51a ant ide-eclipse lib update d39f51a is described below commit d39f51a66bc59313da778b3902ed7ddaaa6737dd Author: Tim Lewis AuthorDate: Wed Jul 21 23:45:43 2021 -0400 ant ide-eclipse lib update --- res/ide-support/eclipse/eclipse.classpath | 6 +++--- res/ide-support/idea/tomcat.iml | 4 ++-- res/ide-support/netbeans/nb-tomcat-build.properties | 2 +- res/ide-support/netbeans/project.xml| 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/res/ide-support/eclipse/eclipse.classpath b/res/ide-support/eclipse/eclipse.classpath index e0f21ca..cc24716 100644 --- a/res/ide-support/eclipse/eclipse.classpath +++ b/res/ide-support/eclipse/eclipse.classpath @@ -25,12 +25,12 @@ - + - + - + diff --git a/res/ide-support/idea/tomcat.iml b/res/ide-support/idea/tomcat.iml index 8b4b241..a77a639 100644 --- a/res/ide-support/idea/tomcat.iml +++ b/res/ide-support/idea/tomcat.iml @@ -104,7 +104,7 @@ - + @@ -131,7 +131,7 @@ - + diff --git a/res/ide-support/netbeans/nb-tomcat-build.properties b/res/ide-support/netbeans/nb-tomcat-build.properties index 86ff97d..65b5205 100644 --- a/res/ide-support/netbeans/nb-tomcat-build.properties +++ b/res/ide-support/netbeans/nb-tomcat-build.properties @@ -37,7 +37,7 @@ nb-test.io-method=org.apache.coyote.http11.Http11NioProtocol # it is not possible to retrieve the classpaths from the build to # use in the NetBeans targets, so they must be explicitly declared -nb-test.classpath=${test.classes}:${tomcat.build}/webapps/examples/WEB-INF/classes:${base.path}/junit-4.13/junit-4.13.jar:${base.path}/easymock-4.2/easymock-4.2.jar:${base.path}/objenesis-3.1/objenesis-3.1.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest-2.2/hamcrest-2.2.jar:${base.path}/ecj-4.20/ecj-4.20.jar:${tomcat.classes} +nb-test.classpath=${test.classes}:${tomcat.build}/webapps/examples/WEB-INF/classes:${base.path}/junit-4.13/junit-4.13.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.2/objenesis-3.2.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest-2.2/hamcrest-2.2.jar:${base.path}/ecj-4.20/ecj-4.20.jar:${tomcat.classes} # Extra properties used by the Tomcat project additional NetBeans targets. diff --git a/res/ide-support/netbeans/project.xml b/res/ide-support/netbeans/project.xml index 83bc9d0..81429d0 100644 --- a/res/ide-support/netbeans/project.xml +++ b/res/ide-support/netbeans/project.xml @@ -189,7 +189,7 @@ test -output/classes:output/testclasses:${base.path}/junit-4.13/junit-4.13.jar:${base.path}/easymock-4.2/easymock-4.2.jar:${base.path}/objenesis-3.1/objenesis-3.1.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest/hamcrest-2.2.jar +output/classes:output/testclasses:${base.path}/junit-4.13/junit-4.13.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.2/objenesis-3.2.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest/hamcrest-2.2.jar 1.7 - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[GitHub] [tomcat] markt-asf merged pull request #436: ant ide-eclipse lib update
markt-asf merged pull request #436: URL: https://github.com/apache/tomcat/pull/436 -- 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
[tomcat] branch main updated: ant ide-eclipse lib update
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 655e300 ant ide-eclipse lib update 655e300 is described below commit 655e300667fa0d71d345df6346f77044768b9092 Author: Tim Lewis AuthorDate: Wed Jul 21 23:45:43 2021 -0400 ant ide-eclipse lib update --- res/ide-support/eclipse/eclipse.classpath | 6 +++--- res/ide-support/idea/tomcat.iml | 4 ++-- res/ide-support/netbeans/nb-tomcat-build.properties | 2 +- res/ide-support/netbeans/project.xml| 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/res/ide-support/eclipse/eclipse.classpath b/res/ide-support/eclipse/eclipse.classpath index e0f21ca..cc24716 100644 --- a/res/ide-support/eclipse/eclipse.classpath +++ b/res/ide-support/eclipse/eclipse.classpath @@ -25,12 +25,12 @@ - + - + - + diff --git a/res/ide-support/idea/tomcat.iml b/res/ide-support/idea/tomcat.iml index 8b4b241..a77a639 100644 --- a/res/ide-support/idea/tomcat.iml +++ b/res/ide-support/idea/tomcat.iml @@ -104,7 +104,7 @@ - + @@ -131,7 +131,7 @@ - + diff --git a/res/ide-support/netbeans/nb-tomcat-build.properties b/res/ide-support/netbeans/nb-tomcat-build.properties index 86ff97d..65b5205 100644 --- a/res/ide-support/netbeans/nb-tomcat-build.properties +++ b/res/ide-support/netbeans/nb-tomcat-build.properties @@ -37,7 +37,7 @@ nb-test.io-method=org.apache.coyote.http11.Http11NioProtocol # it is not possible to retrieve the classpaths from the build to # use in the NetBeans targets, so they must be explicitly declared -nb-test.classpath=${test.classes}:${tomcat.build}/webapps/examples/WEB-INF/classes:${base.path}/junit-4.13/junit-4.13.jar:${base.path}/easymock-4.2/easymock-4.2.jar:${base.path}/objenesis-3.1/objenesis-3.1.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest-2.2/hamcrest-2.2.jar:${base.path}/ecj-4.20/ecj-4.20.jar:${tomcat.classes} +nb-test.classpath=${test.classes}:${tomcat.build}/webapps/examples/WEB-INF/classes:${base.path}/junit-4.13/junit-4.13.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.2/objenesis-3.2.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest-2.2/hamcrest-2.2.jar:${base.path}/ecj-4.20/ecj-4.20.jar:${tomcat.classes} # Extra properties used by the Tomcat project additional NetBeans targets. diff --git a/res/ide-support/netbeans/project.xml b/res/ide-support/netbeans/project.xml index 83bc9d0..81429d0 100644 --- a/res/ide-support/netbeans/project.xml +++ b/res/ide-support/netbeans/project.xml @@ -189,7 +189,7 @@ test -output/classes:output/testclasses:${base.path}/junit-4.13/junit-4.13.jar:${base.path}/easymock-4.2/easymock-4.2.jar:${base.path}/objenesis-3.1/objenesis-3.1.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest/hamcrest-2.2.jar +output/classes:output/testclasses:${base.path}/junit-4.13/junit-4.13.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.2/objenesis-3.2.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest/hamcrest-2.2.jar 1.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: ant ide-eclipse lib update
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 37bd807 ant ide-eclipse lib update 37bd807 is described below commit 37bd8076ce2c544ff147649a6ac5bbd8e17e3e46 Author: Tim Lewis AuthorDate: Wed Jul 21 23:45:43 2021 -0400 ant ide-eclipse lib update --- res/ide-support/eclipse/eclipse.classpath | 6 +++--- res/ide-support/idea/tomcat.iml | 4 ++-- res/ide-support/netbeans/nb-tomcat-build.properties | 2 +- res/ide-support/netbeans/project.xml| 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/res/ide-support/eclipse/eclipse.classpath b/res/ide-support/eclipse/eclipse.classpath index 224f336..cdaafa4 100644 --- a/res/ide-support/eclipse/eclipse.classpath +++ b/res/ide-support/eclipse/eclipse.classpath @@ -25,11 +25,11 @@ - + - + - + diff --git a/res/ide-support/idea/tomcat.iml b/res/ide-support/idea/tomcat.iml index cfa0746..6c06084 100644 --- a/res/ide-support/idea/tomcat.iml +++ b/res/ide-support/idea/tomcat.iml @@ -104,7 +104,7 @@ - + @@ -122,7 +122,7 @@ - + diff --git a/res/ide-support/netbeans/nb-tomcat-build.properties b/res/ide-support/netbeans/nb-tomcat-build.properties index 86ff97d..65b5205 100644 --- a/res/ide-support/netbeans/nb-tomcat-build.properties +++ b/res/ide-support/netbeans/nb-tomcat-build.properties @@ -37,7 +37,7 @@ nb-test.io-method=org.apache.coyote.http11.Http11NioProtocol # it is not possible to retrieve the classpaths from the build to # use in the NetBeans targets, so they must be explicitly declared -nb-test.classpath=${test.classes}:${tomcat.build}/webapps/examples/WEB-INF/classes:${base.path}/junit-4.13/junit-4.13.jar:${base.path}/easymock-4.2/easymock-4.2.jar:${base.path}/objenesis-3.1/objenesis-3.1.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest-2.2/hamcrest-2.2.jar:${base.path}/ecj-4.20/ecj-4.20.jar:${tomcat.classes} +nb-test.classpath=${test.classes}:${tomcat.build}/webapps/examples/WEB-INF/classes:${base.path}/junit-4.13/junit-4.13.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.2/objenesis-3.2.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest-2.2/hamcrest-2.2.jar:${base.path}/ecj-4.20/ecj-4.20.jar:${tomcat.classes} # Extra properties used by the Tomcat project additional NetBeans targets. diff --git a/res/ide-support/netbeans/project.xml b/res/ide-support/netbeans/project.xml index 6335cbd..cdf2125 100644 --- a/res/ide-support/netbeans/project.xml +++ b/res/ide-support/netbeans/project.xml @@ -189,7 +189,7 @@ test -output/classes:output/testclasses:${base.path}/junit-4.13/junit-4.13.jar:${base.path}/easymock-4.2/easymock-4.2.jar:${base.path}/objenesis-3.1/objenesis-3.1.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest/hamcrest-2.2.jar +output/classes:output/testclasses:${base.path}/junit-4.13/junit-4.13.jar:${base.path}/easymock-4.3/easymock-4.3.jar:${base.path}/objenesis-3.2/objenesis-3.2.jar:${base.path}/cglib-3.3.0/cglib-nodep-3.3.0.jar:${base.path}/hamcrest/hamcrest-2.2.jar 1.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: ant ide-eclipse lib update
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 21d65b2 ant ide-eclipse lib update 21d65b2 is described below commit 21d65b21e43a990669a879a26859cfcdc7bee67c Author: Tim Lewis AuthorDate: Wed Jul 21 23:45:43 2021 -0400 ant ide-eclipse lib update --- res/ide-support/eclipse/eclipse.classpath | 2 +- res/ide-support/idea/tomcat.iml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/res/ide-support/eclipse/eclipse.classpath b/res/ide-support/eclipse/eclipse.classpath index da8f013..ad84eab 100644 --- a/res/ide-support/eclipse/eclipse.classpath +++ b/res/ide-support/eclipse/eclipse.classpath @@ -29,6 +29,6 @@ - + diff --git a/res/ide-support/idea/tomcat.iml b/res/ide-support/idea/tomcat.iml index f180cfb..0eb3257 100644 --- a/res/ide-support/idea/tomcat.iml +++ b/res/ide-support/idea/tomcat.iml @@ -113,7 +113,7 @@ - + - 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 #437: NamesEnumerator.nextElement npe fix.
markt-asf commented on pull request #437: URL: https://github.com/apache/tomcat/pull/437#issuecomment-884959680 Please explain how you are triggering the NPE. It looks like you may be accessing the headers associated with a request from a separate thread after/while the request is being recycled. -- 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
[tomcat] branch main updated (655e300 -> e16da23)
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 655e300 ant ide-eclipse lib update add e16da23 Add a test for enumerating headers names when one is null No new revisions were added by this update. Summary of changes: .../apache/tomcat/util/http/TestMimeHeaders.java | 46 ++ 1 file changed, 46 insertions(+) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[GitHub] [tomcat] horizonzy commented on pull request #437: NamesEnumerator.nextElement npe fix.
horizonzy commented on pull request #437: URL: https://github.com/apache/tomcat/pull/437#issuecomment-884961643 > Please explain how you are triggering the NPE. It looks like you may be accessing the headers associated with a request from a separate thread after/while the request is being recycled. Oh, I see, thanks. -- 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] horizonzy closed pull request #437: NamesEnumerator.nextElement npe fix.
horizonzy closed pull request #437: URL: https://github.com/apache/tomcat/pull/437 -- 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
[tomcat] branch 10.0.x updated: Add a test for enumerating headers names when one is null
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.0.x by this push: new 7c05ab9 Add a test for enumerating headers names when one is null 7c05ab9 is described below commit 7c05ab91609c16222ac0559174dca226b6b22dd0 Author: Mark Thomas AuthorDate: Thu Jul 22 15:31:11 2021 +0100 Add a test for enumerating headers names when one is null --- .../apache/tomcat/util/http/TestMimeHeaders.java | 46 ++ 1 file changed, 46 insertions(+) diff --git a/test/org/apache/tomcat/util/http/TestMimeHeaders.java b/test/org/apache/tomcat/util/http/TestMimeHeaders.java index b040ed8..efc7832 100644 --- a/test/org/apache/tomcat/util/http/TestMimeHeaders.java +++ b/test/org/apache/tomcat/util/http/TestMimeHeaders.java @@ -16,6 +16,10 @@ */ package org.apache.tomcat.util.http; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.Set; + import org.junit.Assert; import org.junit.Test; @@ -24,6 +28,9 @@ public class TestMimeHeaders { public static final String HEADER_NAME_LC_STRING = "test"; public static final String HEADER_NAME_UC_STRING = "TEST"; public static final String HEADER_NAME_MIXED_STRING = "tEsT"; +public static final String HEADER_NAME_A = "aaa"; +public static final String HEADER_NAME_B = "bbb"; +public static final String HEADER_NAME_C = "ccc"; @Test public void testSetValueStringIgnoresCase01() { @@ -61,4 +68,43 @@ public class TestMimeHeaders { Assert.assertEquals(HEADER_NAME_MIXED_STRING, mh.getValue(HEADER_NAME_MIXED_STRING).toString()); } +@Test +public void testNamesEnumerator() { +MimeHeaders mh = new MimeHeaders(); + +mh.setValue(HEADER_NAME_A); +mh.setValue(HEADER_NAME_B); +mh.setValue(HEADER_NAME_C); + +Set expected = new HashSet<>(); +expected.add(HEADER_NAME_A); +expected.add(HEADER_NAME_B); +expected.add(HEADER_NAME_C); + +Enumeration names = mh.names(); +while (names.hasMoreElements()) { +Assert.assertTrue(expected.remove(names.nextElement())); +} +Assert.assertFalse(names.hasMoreElements()); +} + +@Test +public void testNamesEnumeratorWithNull() { +MimeHeaders mh = new MimeHeaders(); + +mh.setValue(HEADER_NAME_A); +mh.setValue(null); +mh.setValue(HEADER_NAME_C); + +Set expected = new HashSet<>(); +expected.add(HEADER_NAME_A); +expected.add(null); +expected.add(HEADER_NAME_C); + +Enumeration names = mh.names(); +while (names.hasMoreElements()) { +Assert.assertTrue(expected.remove(names.nextElement())); +} +Assert.assertFalse(names.hasMoreElements()); +} } - 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: Add a test for enumerating headers names when one is null
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 00f53e4 Add a test for enumerating headers names when one is null 00f53e4 is described below commit 00f53e455b90454b8e45efadcfde02bafd507de3 Author: Mark Thomas AuthorDate: Thu Jul 22 15:31:11 2021 +0100 Add a test for enumerating headers names when one is null --- .../apache/tomcat/util/http/TestMimeHeaders.java | 46 ++ 1 file changed, 46 insertions(+) diff --git a/test/org/apache/tomcat/util/http/TestMimeHeaders.java b/test/org/apache/tomcat/util/http/TestMimeHeaders.java index b040ed8..efc7832 100644 --- a/test/org/apache/tomcat/util/http/TestMimeHeaders.java +++ b/test/org/apache/tomcat/util/http/TestMimeHeaders.java @@ -16,6 +16,10 @@ */ package org.apache.tomcat.util.http; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.Set; + import org.junit.Assert; import org.junit.Test; @@ -24,6 +28,9 @@ public class TestMimeHeaders { public static final String HEADER_NAME_LC_STRING = "test"; public static final String HEADER_NAME_UC_STRING = "TEST"; public static final String HEADER_NAME_MIXED_STRING = "tEsT"; +public static final String HEADER_NAME_A = "aaa"; +public static final String HEADER_NAME_B = "bbb"; +public static final String HEADER_NAME_C = "ccc"; @Test public void testSetValueStringIgnoresCase01() { @@ -61,4 +68,43 @@ public class TestMimeHeaders { Assert.assertEquals(HEADER_NAME_MIXED_STRING, mh.getValue(HEADER_NAME_MIXED_STRING).toString()); } +@Test +public void testNamesEnumerator() { +MimeHeaders mh = new MimeHeaders(); + +mh.setValue(HEADER_NAME_A); +mh.setValue(HEADER_NAME_B); +mh.setValue(HEADER_NAME_C); + +Set expected = new HashSet<>(); +expected.add(HEADER_NAME_A); +expected.add(HEADER_NAME_B); +expected.add(HEADER_NAME_C); + +Enumeration names = mh.names(); +while (names.hasMoreElements()) { +Assert.assertTrue(expected.remove(names.nextElement())); +} +Assert.assertFalse(names.hasMoreElements()); +} + +@Test +public void testNamesEnumeratorWithNull() { +MimeHeaders mh = new MimeHeaders(); + +mh.setValue(HEADER_NAME_A); +mh.setValue(null); +mh.setValue(HEADER_NAME_C); + +Set expected = new HashSet<>(); +expected.add(HEADER_NAME_A); +expected.add(null); +expected.add(HEADER_NAME_C); + +Enumeration names = mh.names(); +while (names.hasMoreElements()) { +Assert.assertTrue(expected.remove(names.nextElement())); +} +Assert.assertFalse(names.hasMoreElements()); +} } - 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: Add a test for enumerating headers names when one is null
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 1d05952 Add a test for enumerating headers names when one is null 1d05952 is described below commit 1d059528942a6a08e88f3b1eeae5aceeb9a695df Author: Mark Thomas AuthorDate: Thu Jul 22 15:31:11 2021 +0100 Add a test for enumerating headers names when one is null --- .../apache/tomcat/util/http/TestMimeHeaders.java | 46 ++ 1 file changed, 46 insertions(+) diff --git a/test/org/apache/tomcat/util/http/TestMimeHeaders.java b/test/org/apache/tomcat/util/http/TestMimeHeaders.java index b040ed8..efc7832 100644 --- a/test/org/apache/tomcat/util/http/TestMimeHeaders.java +++ b/test/org/apache/tomcat/util/http/TestMimeHeaders.java @@ -16,6 +16,10 @@ */ package org.apache.tomcat.util.http; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.Set; + import org.junit.Assert; import org.junit.Test; @@ -24,6 +28,9 @@ public class TestMimeHeaders { public static final String HEADER_NAME_LC_STRING = "test"; public static final String HEADER_NAME_UC_STRING = "TEST"; public static final String HEADER_NAME_MIXED_STRING = "tEsT"; +public static final String HEADER_NAME_A = "aaa"; +public static final String HEADER_NAME_B = "bbb"; +public static final String HEADER_NAME_C = "ccc"; @Test public void testSetValueStringIgnoresCase01() { @@ -61,4 +68,43 @@ public class TestMimeHeaders { Assert.assertEquals(HEADER_NAME_MIXED_STRING, mh.getValue(HEADER_NAME_MIXED_STRING).toString()); } +@Test +public void testNamesEnumerator() { +MimeHeaders mh = new MimeHeaders(); + +mh.setValue(HEADER_NAME_A); +mh.setValue(HEADER_NAME_B); +mh.setValue(HEADER_NAME_C); + +Set expected = new HashSet<>(); +expected.add(HEADER_NAME_A); +expected.add(HEADER_NAME_B); +expected.add(HEADER_NAME_C); + +Enumeration names = mh.names(); +while (names.hasMoreElements()) { +Assert.assertTrue(expected.remove(names.nextElement())); +} +Assert.assertFalse(names.hasMoreElements()); +} + +@Test +public void testNamesEnumeratorWithNull() { +MimeHeaders mh = new MimeHeaders(); + +mh.setValue(HEADER_NAME_A); +mh.setValue(null); +mh.setValue(HEADER_NAME_C); + +Set expected = new HashSet<>(); +expected.add(HEADER_NAME_A); +expected.add(null); +expected.add(HEADER_NAME_C); + +Enumeration names = mh.names(); +while (names.hasMoreElements()) { +Assert.assertTrue(expected.remove(names.nextElement())); +} +Assert.assertFalse(names.hasMoreElements()); +} } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 10.0.x updated: Fix BZ 65454. Correct a timing issue that could delay a request
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.0.x by this push: new 08e800d Fix BZ 65454. Correct a timing issue that could delay a request 08e800d is described below commit 08e800d4793b9382931df8328e6cdeff77e1822f Author: Mark Thomas AuthorDate: Thu Jul 22 15:47:22 2021 +0100 Fix BZ 65454. Correct a timing issue that could delay a request https://bz.apache.org/bugzilla/show_bug.cgi?id=65454 If the work queue is not empty, it is likely that a task was added to the work queue between this thread timing out and the worker count being decremented a few lines above this comment. In this case, create a replacement worker so that the task isn't held in the queue waiting for one of the other workers to finish. Note: Based on the ThreadPoolExecutir from JSR 166 --- .../tomcat/util/threads/ThreadPoolExecutor.java| 2365 +++- webapps/docs/changelog.xml |6 + 2 files changed, 2264 insertions(+), 107 deletions(-) diff --git a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java index 3038baa..6f73fda 100644 --- a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java +++ b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java @@ -14,83 +14,2174 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + +/* + * The original version of this file carried the following notice: + * + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/publicdomain/zero/1.0/ + */ package org.apache.tomcat.util.threads; +import java.util.ArrayList; +import java.util.ConcurrentModificationException; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.concurrent.AbstractExecutorService; import java.util.concurrent.BlockingQueue; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; import java.util.concurrent.RejectedExecutionException; -import java.util.concurrent.RejectedExecutionHandler; import java.util.concurrent.ThreadFactory; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.locks.AbstractQueuedSynchronizer; +import java.util.concurrent.locks.Condition; +import java.util.concurrent.locks.ReentrantLock; import org.apache.tomcat.util.res.StringManager; /** - * Same as a java.util.concurrent.ThreadPoolExecutor but implements a much more efficient - * {@link #getSubmittedCount()} method, to be used to properly handle the work queue. - * If a RejectedExecutionHandler is not specified a default one will be configured - * and that one will always throw a RejectedExecutionException + * An {@link java.util.concurrent.ExecutorService} + * that executes each submitted task using + * one of possibly several pooled threads, normally configured + * using {@link Executors} factory methods. + * + * Thread pools address two different problems: they usually + * provide improved performance when executing large numbers of + * asynchronous tasks, due to reduced per-task invocation overhead, + * and they provide a means of bounding and managing the resources, + * including threads, consumed when executing a collection of tasks. + * Each {@code ThreadPoolExecutor} also maintains some basic + * statistics, such as the number of completed tasks. + * + * To be useful across a wide range of contexts, this class + * provides many adjustable parameters and extensibility + * hooks. However, programmers are urged to use the more convenient + * {@link Executors} factory methods {@link + * Executors#newCachedThreadPool} (unbounded thread pool, with + * automatic thread reclamation), {@link Executors#newFixedThreadPool} + * (fixed size thread pool) and {@link + * Executors#newSingleThreadExecutor} (single background thread), that + * preconfigure settings for the most common usage + * scenarios. Otherwise, use the following guide when manually + * configuring and tuning this class: + * + * + * + * Core and maximum pool sizes + * + * A {@code ThreadPoolExecutor} will automatically adjust the + * pool size (see {@link #getPoolSize}) + * according to the bounds set by + * corePoolSize (see {@link #getCorePoolSize}) and + * maximumPoolSize (see {@link #getMaximumPoolSize}). + * + * When a new task is submitted in method {@link #execute(Runnable)}, + * if fewer than corePoolSize threads are running, a new thread is + * created to handle the request, even if other worker threads are + * idle. Else if fewer than maximumPoolSize threads are running, a + * new thr
[tomcat] branch 9.0.x updated: Fix BZ 65454. Correct a timing issue that could delay a request
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 dae37f4 Fix BZ 65454. Correct a timing issue that could delay a request dae37f4 is described below commit dae37f4421088a2430c765443d3b6a4fb63ace7b Author: Mark Thomas AuthorDate: Thu Jul 22 15:47:22 2021 +0100 Fix BZ 65454. Correct a timing issue that could delay a request https://bz.apache.org/bugzilla/show_bug.cgi?id=65454 If the work queue is not empty, it is likely that a task was added to the work queue between this thread timing out and the worker count being decremented a few lines above this comment. In this case, create a replacement worker so that the task isn't held in the queue waiting for one of the other workers to finish. Note: Based on the ThreadPoolExecutir from JSR 166 --- .../tomcat/util/threads/ThreadPoolExecutor.java| 2365 +++- webapps/docs/changelog.xml |6 + 2 files changed, 2264 insertions(+), 107 deletions(-) diff --git a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java index 3038baa..6f73fda 100644 --- a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java +++ b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java @@ -14,83 +14,2174 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + +/* + * The original version of this file carried the following notice: + * + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/publicdomain/zero/1.0/ + */ package org.apache.tomcat.util.threads; +import java.util.ArrayList; +import java.util.ConcurrentModificationException; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.concurrent.AbstractExecutorService; import java.util.concurrent.BlockingQueue; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; import java.util.concurrent.RejectedExecutionException; -import java.util.concurrent.RejectedExecutionHandler; import java.util.concurrent.ThreadFactory; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.locks.AbstractQueuedSynchronizer; +import java.util.concurrent.locks.Condition; +import java.util.concurrent.locks.ReentrantLock; import org.apache.tomcat.util.res.StringManager; /** - * Same as a java.util.concurrent.ThreadPoolExecutor but implements a much more efficient - * {@link #getSubmittedCount()} method, to be used to properly handle the work queue. - * If a RejectedExecutionHandler is not specified a default one will be configured - * and that one will always throw a RejectedExecutionException + * An {@link java.util.concurrent.ExecutorService} + * that executes each submitted task using + * one of possibly several pooled threads, normally configured + * using {@link Executors} factory methods. + * + * Thread pools address two different problems: they usually + * provide improved performance when executing large numbers of + * asynchronous tasks, due to reduced per-task invocation overhead, + * and they provide a means of bounding and managing the resources, + * including threads, consumed when executing a collection of tasks. + * Each {@code ThreadPoolExecutor} also maintains some basic + * statistics, such as the number of completed tasks. + * + * To be useful across a wide range of contexts, this class + * provides many adjustable parameters and extensibility + * hooks. However, programmers are urged to use the more convenient + * {@link Executors} factory methods {@link + * Executors#newCachedThreadPool} (unbounded thread pool, with + * automatic thread reclamation), {@link Executors#newFixedThreadPool} + * (fixed size thread pool) and {@link + * Executors#newSingleThreadExecutor} (single background thread), that + * preconfigure settings for the most common usage + * scenarios. Otherwise, use the following guide when manually + * configuring and tuning this class: + * + * + * + * Core and maximum pool sizes + * + * A {@code ThreadPoolExecutor} will automatically adjust the + * pool size (see {@link #getPoolSize}) + * according to the bounds set by + * corePoolSize (see {@link #getCorePoolSize}) and + * maximumPoolSize (see {@link #getMaximumPoolSize}). + * + * When a new task is submitted in method {@link #execute(Runnable)}, + * if fewer than corePoolSize threads are running, a new thread is + * created to handle the request, even if other worker threads are + * idle. Else if fewer than maximumPoolSize threads are running, a + * new threa
[tomcat] branch 8.5.x updated: Fix BZ 65454. Correct a timing issue that could delay a request
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 43c16e1 Fix BZ 65454. Correct a timing issue that could delay a request 43c16e1 is described below commit 43c16e1050440aa08a53b6f04ec149abdfe09435 Author: Mark Thomas AuthorDate: Thu Jul 22 15:47:22 2021 +0100 Fix BZ 65454. Correct a timing issue that could delay a request https://bz.apache.org/bugzilla/show_bug.cgi?id=65454 If the work queue is not empty, it is likely that a task was added to the work queue between this thread timing out and the worker count being decremented a few lines above this comment. In this case, create a replacement worker so that the task isn't held in the queue waiting for one of the other workers to finish. Note: Based on the ThreadPoolExecutir from JSR 166 # Conflicts: # webapps/docs/changelog.xml --- .../tomcat/util/threads/ThreadPoolExecutor.java| 2365 +++- webapps/docs/changelog.xml |6 + 2 files changed, 2264 insertions(+), 107 deletions(-) diff --git a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java index 3038baa..6f73fda 100644 --- a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java +++ b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java @@ -14,83 +14,2174 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + +/* + * The original version of this file carried the following notice: + * + * Written by Doug Lea with assistance from members of JCP JSR-166 + * Expert Group and released to the public domain, as explained at + * http://creativecommons.org/publicdomain/zero/1.0/ + */ package org.apache.tomcat.util.threads; +import java.util.ArrayList; +import java.util.ConcurrentModificationException; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.concurrent.AbstractExecutorService; import java.util.concurrent.BlockingQueue; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; import java.util.concurrent.RejectedExecutionException; -import java.util.concurrent.RejectedExecutionHandler; import java.util.concurrent.ThreadFactory; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.locks.AbstractQueuedSynchronizer; +import java.util.concurrent.locks.Condition; +import java.util.concurrent.locks.ReentrantLock; import org.apache.tomcat.util.res.StringManager; /** - * Same as a java.util.concurrent.ThreadPoolExecutor but implements a much more efficient - * {@link #getSubmittedCount()} method, to be used to properly handle the work queue. - * If a RejectedExecutionHandler is not specified a default one will be configured - * and that one will always throw a RejectedExecutionException + * An {@link java.util.concurrent.ExecutorService} + * that executes each submitted task using + * one of possibly several pooled threads, normally configured + * using {@link Executors} factory methods. + * + * Thread pools address two different problems: they usually + * provide improved performance when executing large numbers of + * asynchronous tasks, due to reduced per-task invocation overhead, + * and they provide a means of bounding and managing the resources, + * including threads, consumed when executing a collection of tasks. + * Each {@code ThreadPoolExecutor} also maintains some basic + * statistics, such as the number of completed tasks. + * + * To be useful across a wide range of contexts, this class + * provides many adjustable parameters and extensibility + * hooks. However, programmers are urged to use the more convenient + * {@link Executors} factory methods {@link + * Executors#newCachedThreadPool} (unbounded thread pool, with + * automatic thread reclamation), {@link Executors#newFixedThreadPool} + * (fixed size thread pool) and {@link + * Executors#newSingleThreadExecutor} (single background thread), that + * preconfigure settings for the most common usage + * scenarios. Otherwise, use the following guide when manually + * configuring and tuning this class: + * + * + * + * Core and maximum pool sizes + * + * A {@code ThreadPoolExecutor} will automatically adjust the + * pool size (see {@link #getPoolSize}) + * according to the bounds set by + * corePoolSize (see {@link #getCorePoolSize}) and + * maximumPoolSize (see {@link #getMaximumPoolSize}). + * + * When a new task is submitted in method {@link #execute(Runnable)}, + * if fewer than corePoolSize threads are running, a new thread is + * created to handle the request, even if other worker threads are + * idle. Else if fewer than
[tomcat] branch main updated: RejectHandler ->RejectPolicy for consistency. Correct Javadoc
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 5b47371 RejectHandler ->RejectPolicy for consistency. Correct Javadoc 5b47371 is described below commit 5b47371b93d817c670c352824251a697aabb26eb Author: Mark Thomas AuthorDate: Thu Jul 22 15:56:10 2021 +0100 RejectHandler ->RejectPolicy for consistency. Correct Javadoc --- java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java index 8771c22..fd82d55 100644 --- a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java +++ b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java @@ -582,7 +582,7 @@ public class ThreadPoolExecutor extends AbstractExecutorService { /** * The default rejected execution handler. */ -private static final RejectedExecutionHandler defaultHandler = new RejectHandler(); +private static final RejectedExecutionHandler defaultHandler = new RejectPolicy(); /** * Permission required for callers of shutdown and shutdownNow. @@ -1212,7 +1212,7 @@ public class ThreadPoolExecutor extends AbstractExecutorService { * Creates a new {@code ThreadPoolExecutor} with the given initial * parameters, the * {@linkplain Executors#defaultThreadFactory default thread factory} - * and the {@linkplain ThreadPoolExecutor.AbortPolicy + * and the {@linkplain ThreadPoolExecutor.RejectPolicy * default rejected execution handler}. * * It may be more convenient to use one of the {@link Executors} @@ -1247,7 +1247,7 @@ public class ThreadPoolExecutor extends AbstractExecutorService { /** * Creates a new {@code ThreadPoolExecutor} with the given initial - * parameters and the {@linkplain ThreadPoolExecutor.AbortPolicy + * parameters and the {@linkplain ThreadPoolExecutor.RejectPolicy * default rejected execution handler}. * * @param corePoolSize the number of threads to keep in the pool, even @@ -2332,7 +2332,7 @@ public class ThreadPoolExecutor extends AbstractExecutorService { } } -private static class RejectHandler implements RejectedExecutionHandler { +private static class RejectPolicy implements RejectedExecutionHandler { @Override public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) { throw new RejectedExecutionException(); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 10.0.x updated: RejectHandler ->RejectPolicy for consistency. Correct Javadoc
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.0.x by this push: new 8bb0d1e RejectHandler ->RejectPolicy for consistency. Correct Javadoc 8bb0d1e is described below commit 8bb0d1e04bfbd5cc0ba3daebbcb66af7aa8cf5d5 Author: Mark Thomas AuthorDate: Thu Jul 22 15:56:10 2021 +0100 RejectHandler ->RejectPolicy for consistency. Correct Javadoc --- java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java index 6f73fda..c8078f4 100644 --- a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java +++ b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java @@ -582,7 +582,7 @@ public class ThreadPoolExecutor extends AbstractExecutorService { /** * The default rejected execution handler. */ -private static final RejectedExecutionHandler defaultHandler = new RejectHandler(); +private static final RejectedExecutionHandler defaultHandler = new RejectPolicy(); /** * Permission required for callers of shutdown and shutdownNow. @@ -1212,7 +1212,7 @@ public class ThreadPoolExecutor extends AbstractExecutorService { * Creates a new {@code ThreadPoolExecutor} with the given initial * parameters, the * {@linkplain Executors#defaultThreadFactory default thread factory} - * and the {@linkplain ThreadPoolExecutor.AbortPolicy + * and the {@linkplain ThreadPoolExecutor.RejectPolicy * default rejected execution handler}. * * It may be more convenient to use one of the {@link Executors} @@ -1247,7 +1247,7 @@ public class ThreadPoolExecutor extends AbstractExecutorService { /** * Creates a new {@code ThreadPoolExecutor} with the given initial - * parameters and the {@linkplain ThreadPoolExecutor.AbortPolicy + * parameters and the {@linkplain ThreadPoolExecutor.RejectPolicy * default rejected execution handler}. * * @param corePoolSize the number of threads to keep in the pool, even @@ -2361,7 +2361,7 @@ public class ThreadPoolExecutor extends AbstractExecutorService { } } -private static class RejectHandler implements RejectedExecutionHandler { +private static class RejectPolicy implements RejectedExecutionHandler { @Override public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) { throw new RejectedExecutionException(); - 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: RejectHandler ->RejectPolicy for consistency. Correct Javadoc
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 f5f1207 RejectHandler ->RejectPolicy for consistency. Correct Javadoc f5f1207 is described below commit f5f1207affca959732f3dd1101eadb3c454f414e Author: Mark Thomas AuthorDate: Thu Jul 22 15:56:10 2021 +0100 RejectHandler ->RejectPolicy for consistency. Correct Javadoc --- java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java index 6f73fda..c8078f4 100644 --- a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java +++ b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java @@ -582,7 +582,7 @@ public class ThreadPoolExecutor extends AbstractExecutorService { /** * The default rejected execution handler. */ -private static final RejectedExecutionHandler defaultHandler = new RejectHandler(); +private static final RejectedExecutionHandler defaultHandler = new RejectPolicy(); /** * Permission required for callers of shutdown and shutdownNow. @@ -1212,7 +1212,7 @@ public class ThreadPoolExecutor extends AbstractExecutorService { * Creates a new {@code ThreadPoolExecutor} with the given initial * parameters, the * {@linkplain Executors#defaultThreadFactory default thread factory} - * and the {@linkplain ThreadPoolExecutor.AbortPolicy + * and the {@linkplain ThreadPoolExecutor.RejectPolicy * default rejected execution handler}. * * It may be more convenient to use one of the {@link Executors} @@ -1247,7 +1247,7 @@ public class ThreadPoolExecutor extends AbstractExecutorService { /** * Creates a new {@code ThreadPoolExecutor} with the given initial - * parameters and the {@linkplain ThreadPoolExecutor.AbortPolicy + * parameters and the {@linkplain ThreadPoolExecutor.RejectPolicy * default rejected execution handler}. * * @param corePoolSize the number of threads to keep in the pool, even @@ -2361,7 +2361,7 @@ public class ThreadPoolExecutor extends AbstractExecutorService { } } -private static class RejectHandler implements RejectedExecutionHandler { +private static class RejectPolicy implements RejectedExecutionHandler { @Override public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) { throw new RejectedExecutionException(); - 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: RejectHandler ->RejectPolicy for consistency. Correct Javadoc
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 d88901c RejectHandler ->RejectPolicy for consistency. Correct Javadoc d88901c is described below commit d88901c549cc9fcd7be5790da44fa24979e82237 Author: Mark Thomas AuthorDate: Thu Jul 22 15:56:10 2021 +0100 RejectHandler ->RejectPolicy for consistency. Correct Javadoc --- java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java index 6f73fda..c8078f4 100644 --- a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java +++ b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java @@ -582,7 +582,7 @@ public class ThreadPoolExecutor extends AbstractExecutorService { /** * The default rejected execution handler. */ -private static final RejectedExecutionHandler defaultHandler = new RejectHandler(); +private static final RejectedExecutionHandler defaultHandler = new RejectPolicy(); /** * Permission required for callers of shutdown and shutdownNow. @@ -1212,7 +1212,7 @@ public class ThreadPoolExecutor extends AbstractExecutorService { * Creates a new {@code ThreadPoolExecutor} with the given initial * parameters, the * {@linkplain Executors#defaultThreadFactory default thread factory} - * and the {@linkplain ThreadPoolExecutor.AbortPolicy + * and the {@linkplain ThreadPoolExecutor.RejectPolicy * default rejected execution handler}. * * It may be more convenient to use one of the {@link Executors} @@ -1247,7 +1247,7 @@ public class ThreadPoolExecutor extends AbstractExecutorService { /** * Creates a new {@code ThreadPoolExecutor} with the given initial - * parameters and the {@linkplain ThreadPoolExecutor.AbortPolicy + * parameters and the {@linkplain ThreadPoolExecutor.RejectPolicy * default rejected execution handler}. * * @param corePoolSize the number of threads to keep in the pool, even @@ -2361,7 +2361,7 @@ public class ThreadPoolExecutor extends AbstractExecutorService { } } -private static class RejectHandler implements RejectedExecutionHandler { +private static class RejectPolicy implements RejectedExecutionHandler { @Override public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) { throw new RejectedExecutionException(); - 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: Correct Javadoc
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 6c6bca2 Correct Javadoc 6c6bca2 is described below commit 6c6bca27d3a0b317a7f2b7c5b7f59e0793ea5e95 Author: Mark Thomas AuthorDate: Thu Jul 22 15:57:47 2021 +0100 Correct Javadoc --- java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java index c8078f4..dab190a 100644 --- a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java +++ b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java @@ -2273,9 +2273,6 @@ public class ThreadPoolExecutor extends AbstractExecutorService { /** * A handler for rejected tasks that throws a * {@link RejectedExecutionException}. - * - * This is the default handler for {@link ThreadPoolExecutor} and - * {@link ScheduledThreadPoolExecutor}. */ public static class AbortPolicy implements RejectedExecutionHandler { /** - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch main updated: Correct Javadoc
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 d511571 Correct Javadoc d511571 is described below commit d511571fa59f53a6beae96db497129f12940f3e1 Author: Mark Thomas AuthorDate: Thu Jul 22 15:57:47 2021 +0100 Correct Javadoc --- java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java index fd82d55..630b9f0 100644 --- a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java +++ b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java @@ -2244,9 +2244,6 @@ public class ThreadPoolExecutor extends AbstractExecutorService { /** * A handler for rejected tasks that throws a * {@link RejectedExecutionException}. - * - * This is the default handler for {@link ThreadPoolExecutor} and - * {@link ScheduledThreadPoolExecutor}. */ public static class AbortPolicy implements RejectedExecutionHandler { /** - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 10.0.x updated: Correct Javadoc
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.0.x by this push: new cfb6873 Correct Javadoc cfb6873 is described below commit cfb68735cbdf941de2cce0b1c460dadf51e12366 Author: Mark Thomas AuthorDate: Thu Jul 22 15:57:47 2021 +0100 Correct Javadoc --- java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java index c8078f4..dab190a 100644 --- a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java +++ b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java @@ -2273,9 +2273,6 @@ public class ThreadPoolExecutor extends AbstractExecutorService { /** * A handler for rejected tasks that throws a * {@link RejectedExecutionException}. - * - * This is the default handler for {@link ThreadPoolExecutor} and - * {@link ScheduledThreadPoolExecutor}. */ public static class AbortPolicy implements RejectedExecutionHandler { /** - 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: Correct Javadoc
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 8320ba2 Correct Javadoc 8320ba2 is described below commit 8320ba261301c786d8db04aefdf78ec365563f0e Author: Mark Thomas AuthorDate: Thu Jul 22 15:57:47 2021 +0100 Correct Javadoc --- java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java index c8078f4..dab190a 100644 --- a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java +++ b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java @@ -2273,9 +2273,6 @@ public class ThreadPoolExecutor extends AbstractExecutorService { /** * A handler for rejected tasks that throws a * {@link RejectedExecutionException}. - * - * This is the default handler for {@link ThreadPoolExecutor} and - * {@link ScheduledThreadPoolExecutor}. */ public static class AbortPolicy implements RejectedExecutionHandler { /** - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 65454] Race condition with idle thread removal results in request being improperly enqueued by default ThreadPoolExecutor
https://bz.apache.org/bugzilla/show_bug.cgi?id=65454 Mark Thomas changed: What|Removed |Added Resolution|--- |FIXED Status|NEW |RESOLVED --- Comment #7 from Mark Thomas --- While importing ThreadPoolExecutor added 2k+ lines of code, the actual fix was only a few lines of code. We'll need to check for updates to ThreadPoolExecutor from time to time but I'd be surprised if there are still bugs in the parts we are using. Fixed in: - 10.1.x for 10.1.0-M3 onwards - 10.0.x for 10.0.9 onwards - 9.0.x for 9.0.51 onwards - 8.5.x for 8.5.70 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
[Bug 65460] http2 request hang with tomcat 9.0.50's overhead protection
https://bz.apache.org/bugzilla/show_bug.cgi?id=65460 Mark Thomas changed: What|Removed |Added Summary|http2 request hang with |http2 request hang with |tomcat 9.0.50`s overhead|tomcat 9.0.50's overhead |protection |protection --- Comment #8 from Mark Thomas --- That reference requires registration/authentication. Please ensure any links you provide are public. A thread dump when the hang occurs would be helpful. Enabling HTTP/2 debug logging may also be informative (see $CATALINA_BASE/logging.properties) -- 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
buildbot success in on tomcat-9.0.x
The Buildbot has detected a restored build on builder tomcat-9.0.x while building tomcat. Full details are available at: https://ci.apache.org/builders/tomcat-9.0.x/builds/79 Buildbot URL: https://ci.apache.org/ Buildslave for this Build: asf946_ubuntu Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-9.0-commit' triggered this build Build Source Stamp: [branch 9.0.x] 37bd8076ce2c544ff147649a6ac5bbd8e17e3e46 Blamelist: Tim Lewis Build succeeded! Sincerely, -The Buildbot - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 65460] http2 request hang with tomcat 9.0.50's overhead protection
https://bz.apache.org/bugzilla/show_bug.cgi?id=65460 Mark Thomas changed: What|Removed |Added Status|NEW |NEEDINFO -- 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 65460] http2 request hang with tomcat 9.0.50's overhead protection
https://bz.apache.org/bugzilla/show_bug.cgi?id=65460 --- Comment #9 from dpy1123 --- Created attachment 37965 --> https://bz.apache.org/bugzilla/attachment.cgi?id=37965&action=edit some wired cases -- 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 65460] http2 request hang with tomcat 9.0.50's overhead protection
https://bz.apache.org/bugzilla/show_bug.cgi?id=65460 dpy1123 changed: What|Removed |Added Status|NEEDINFO|NEW --- Comment #10 from dpy1123 --- add a pdf version through attachment, pls take a look. -- 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 65460] http2 request hang with tomcat 9.0.50's overhead protection
https://bz.apache.org/bugzilla/show_bug.cgi?id=65460 --- Comment #11 from dpy1123 --- Created attachment 37966 --> https://bz.apache.org/bugzilla/attachment.cgi?id=37966&action=edit txt version -- 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 65458] NPE when using a lambda in Session.addMessageHandler
https://bz.apache.org/bugzilla/show_bug.cgi?id=65458 Mark Thomas changed: What|Removed |Added Resolution|--- |WONTFIX Status|NEW |RESOLVED --- Comment #1 from Mark Thomas --- This is why the method: public void addMessageHandler(Class clazz, Whole handler) was added to WsSession. There are some instances, and this is one, where the generic type isn't available at run time. We could catch the NPE and have Util.getGenericType() return null but that will just move the NPE one step up the call stack. There doesn't seem much point in adding the code to do that. -- 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 65350] The index ID of the request header that Jetty sent to Tomcat was not found in the index table on the Tomcat side
https://bz.apache.org/bugzilla/show_bug.cgi?id=65350 --- Comment #6 from Mark Thomas --- It has been more than a month and no debug logs have been provided that show this issue. Unless the information requested is provided, this issue will eventually get resolved as WORKSFORME. -- 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 65458] NPE when using a lambda in Session.addMessageHandler
https://bz.apache.org/bugzilla/show_bug.cgi?id=65458 Emmanuel L changed: What|Removed |Added Resolution|WONTFIX |FIXED --- Comment #2 from Emmanuel L --- Makes sense, and agreed that there is no need to catch the NPE here. It's a bit sad that the way Java generates the Lambda code results in a none typed handler. Thanks for the pointer to the other method, will try that. -- 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 65460] http2 request hang with tomcat 9.0.50's overhead protection
https://bz.apache.org/bugzilla/show_bug.cgi?id=65460 --- Comment #12 from dpy1123 --- Created attachment 37967 --> https://bz.apache.org/bugzilla/attachment.cgi?id=37967&action=edit thread dump when hang add thread dump -- 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