You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2021/07/21 16:16:20 UTC

[tomcat] branch 8.5.x updated (390b017 -> 007a033)

This is an automated email from the ASF dual-hosted git repository.

markt pushed a change to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git.


    from 390b017  Deprecate unused Executor method
     new fee409e  Improve comment
     new 007a033  Remove unnecessary code

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 java/org/apache/catalina/core/LocalStrings.properties       |  1 -
 java/org/apache/catalina/core/LocalStrings_fr.properties    |  1 -
 java/org/apache/catalina/core/LocalStrings_ja.properties    |  1 -
 java/org/apache/catalina/core/LocalStrings_ko.properties    |  1 -
 java/org/apache/catalina/core/LocalStrings_zh_CN.properties |  1 -
 java/org/apache/catalina/core/StandardThreadExecutor.java   | 12 +++---------
 java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java |  4 ++++
 7 files changed, 7 insertions(+), 14 deletions(-)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[tomcat] 01/02: Improve comment

Posted by ma...@apache.org.
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

commit fee409e7b33d84aa84d8d06d5baacaac0897dc44
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Wed Jul 21 17:05:19 2021 +0100

    Improve comment
---
 java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java
index 2b9e931..3038baa 100644
--- a/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java
+++ b/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java
@@ -176,6 +176,10 @@ public class ThreadPoolExecutor extends java.util.concurrent.ThreadPoolExecutor
             super.execute(command);
         } catch (RejectedExecutionException rx) {
             if (super.getQueue() instanceof TaskQueue) {
+                // If the Executor is close to maximum pool size, concurrent
+                // calls to execute() may result (due to Tomcat's use of
+                // TaskQueue) in some tasks being rejected rather than queued.
+                // If this happens, add them to the queue.
                 final TaskQueue queue = (TaskQueue)super.getQueue();
                 try {
                     if (!queue.force(command, timeout, unit)) {

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[tomcat] 02/02: Remove unnecessary code

Posted by ma...@apache.org.
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

commit 007a033908c5fb8fb0951971c658997e672c59d8
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Wed Jul 21 17:08:53 2021 +0100

    Remove unnecessary code
---
 java/org/apache/catalina/core/LocalStrings.properties       |  1 -
 java/org/apache/catalina/core/LocalStrings_fr.properties    |  1 -
 java/org/apache/catalina/core/LocalStrings_ja.properties    |  1 -
 java/org/apache/catalina/core/LocalStrings_ko.properties    |  1 -
 java/org/apache/catalina/core/LocalStrings_zh_CN.properties |  1 -
 java/org/apache/catalina/core/StandardThreadExecutor.java   | 12 +++---------
 6 files changed, 3 insertions(+), 14 deletions(-)

diff --git a/java/org/apache/catalina/core/LocalStrings.properties b/java/org/apache/catalina/core/LocalStrings.properties
index d5c32cc..45495d0 100644
--- a/java/org/apache/catalina/core/LocalStrings.properties
+++ b/java/org/apache/catalina/core/LocalStrings.properties
@@ -276,7 +276,6 @@ standardService.start.name=Starting service [{0}]
 standardService.stop.name=Stopping service [{0}]
 
 standardThreadExecutor.notStarted=The executor has not been started
-standardThreadExecutor.queueFull=The executor's work queue is full
 
 standardWrapper.allocate=Error allocating a servlet instance
 standardWrapper.allocateException=Allocate exception for servlet [{0}]
diff --git a/java/org/apache/catalina/core/LocalStrings_fr.properties b/java/org/apache/catalina/core/LocalStrings_fr.properties
index bf17b10..57a8c85 100644
--- a/java/org/apache/catalina/core/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/core/LocalStrings_fr.properties
@@ -270,7 +270,6 @@ standardService.start.name=Démarrage du service [{0}]
 standardService.stop.name=Arrêt du service [{0}]
 
 standardThreadExecutor.notStarted=L'exécuteur n'a pas encore été démarré
-standardThreadExecutor.queueFull=La file de travail de l'exécuteur est pleine
 
 standardWrapper.allocate=Erreur d'allocation à une instance de servlet
 standardWrapper.allocateException=Exception lors de l''allocation pour la servlet [{0}]
diff --git a/java/org/apache/catalina/core/LocalStrings_ja.properties b/java/org/apache/catalina/core/LocalStrings_ja.properties
index d1fa939..246a3c1 100644
--- a/java/org/apache/catalina/core/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/core/LocalStrings_ja.properties
@@ -270,7 +270,6 @@ standardService.start.name=サービス [{0}] を起動します
 standardService.stop.name=サービス [{0}] を停止します
 
 standardThreadExecutor.notStarted=エグゼキュターは開始ししていません。
-standardThreadExecutor.queueFull=エグゼキュターの作業キューは満杯です。
 
 standardWrapper.allocate=サーブレットインスタンスを割り当て中のエラーです
 standardWrapper.allocateException=サーブレット [{0}] に例外を割り当てます
diff --git a/java/org/apache/catalina/core/LocalStrings_ko.properties b/java/org/apache/catalina/core/LocalStrings_ko.properties
index ecb2e7c..ef3ec3a 100644
--- a/java/org/apache/catalina/core/LocalStrings_ko.properties
+++ b/java/org/apache/catalina/core/LocalStrings_ko.properties
@@ -270,7 +270,6 @@ standardService.start.name=서비스 [{0}]을(를) 시작합니다.
 standardService.stop.name=서비스 [{0}]을(를) 중지시킵니다.
 
 standardThreadExecutor.notStarted=Executor가 아직 시작되지 않았습니다.
-standardThreadExecutor.queueFull=해당 Executor의 작업 큐가 꽉 찼습니다.
 
 standardWrapper.allocate=서블릿 인스턴스를 할당하는 중 오류 발생
 standardWrapper.allocateException=서블릿 [{0}]을(를) 위해 할당하던 중 예외 발생
diff --git a/java/org/apache/catalina/core/LocalStrings_zh_CN.properties b/java/org/apache/catalina/core/LocalStrings_zh_CN.properties
index 1ef99e0..6d929e4 100644
--- a/java/org/apache/catalina/core/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/core/LocalStrings_zh_CN.properties
@@ -270,7 +270,6 @@ standardService.start.name=正在启动服务[{0}]
 standardService.stop.name=正在停止服务[{0}]
 
 standardThreadExecutor.notStarted=执行器尚未启动
-standardThreadExecutor.queueFull=执行者的工作队列已满
 
 standardWrapper.allocate=分配一个servlet实例错误
 standardWrapper.allocateException=分配异常的servlet [{0}]
diff --git a/java/org/apache/catalina/core/StandardThreadExecutor.java b/java/org/apache/catalina/core/StandardThreadExecutor.java
index 5e7d4db..09ce5c6 100644
--- a/java/org/apache/catalina/core/StandardThreadExecutor.java
+++ b/java/org/apache/catalina/core/StandardThreadExecutor.java
@@ -16,7 +16,6 @@
  */
 package org.apache.catalina.core;
 
-import java.util.concurrent.RejectedExecutionException;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.catalina.Executor;
@@ -171,14 +170,9 @@ public class StandardThreadExecutor extends LifecycleMBeanBase
     @Override
     public void execute(Runnable command) {
         if (executor != null) {
-            try {
-                executor.execute(command);
-            } catch (RejectedExecutionException rx) {
-                //there could have been contention around the queue
-                if (!((TaskQueue) executor.getQueue()).force(command)) {
-                    throw new RejectedExecutionException(sm.getString("standardThreadExecutor.queueFull"));
-                }
-            }
+            // Note any RejectedExecutionException due to the use of TaskQueue
+            // will be handled by the o.a.t.u.threads.ThreadPoolExecutor
+            executor.execute(command);
         } else {
             throw new IllegalStateException(sm.getString("standardThreadExecutor.notStarted"));
         }

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org