[GitHub] [tomcat] horizonzy opened a new pull request #437: NamesEnumerator.nextElement npe fix.

2021-07-22 Thread GitBox


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

2021-07-22 Thread bugzilla
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

2021-07-22 Thread GitBox


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

2021-07-22 Thread markt
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

2021-07-22 Thread GitBox


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

2021-07-22 Thread markt
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

2021-07-22 Thread markt
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

2021-07-22 Thread markt
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.

2021-07-22 Thread GitBox


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)

2021-07-22 Thread markt
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.

2021-07-22 Thread GitBox


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.

2021-07-22 Thread GitBox


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

2021-07-22 Thread markt
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

2021-07-22 Thread markt
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

2021-07-22 Thread markt
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

2021-07-22 Thread markt
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

2021-07-22 Thread markt
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

2021-07-22 Thread markt
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

2021-07-22 Thread markt
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

2021-07-22 Thread markt
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

2021-07-22 Thread markt
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

2021-07-22 Thread markt
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

2021-07-22 Thread markt
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

2021-07-22 Thread markt
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

2021-07-22 Thread markt
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

2021-07-22 Thread markt
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

2021-07-22 Thread bugzilla
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

2021-07-22 Thread bugzilla
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

2021-07-22 Thread buildbot
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

2021-07-22 Thread bugzilla
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

2021-07-22 Thread bugzilla
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

2021-07-22 Thread bugzilla
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

2021-07-22 Thread bugzilla
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

2021-07-22 Thread bugzilla
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

2021-07-22 Thread bugzilla
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

2021-07-22 Thread bugzilla
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

2021-07-22 Thread bugzilla
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