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

albumenj pushed a commit to branch 3.2
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/3.2 by this push:
     new 757643cf8c fix rest thread memory leak (#12842)
757643cf8c is described below

commit 757643cf8c91e3b2dfdc992a5cbb929e159cdbc6
Author: suncairong163 <[email protected]>
AuthorDate: Wed Aug 9 15:46:56 2023 +0800

    fix rest thread memory leak (#12842)
---
 .../dubbo/rpc/protocol/rest/netty/RestHttpRequestDecoder.java      | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git 
a/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/netty/RestHttpRequestDecoder.java
 
b/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/netty/RestHttpRequestDecoder.java
index 311beaa451..041a957cdd 100644
--- 
a/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/netty/RestHttpRequestDecoder.java
+++ 
b/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/netty/RestHttpRequestDecoder.java
@@ -28,12 +28,15 @@ import io.netty.handler.codec.http.HttpHeaders;
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.common.logger.ErrorTypeAwareLogger;
 import org.apache.dubbo.common.logger.LoggerFactory;
-import org.apache.dubbo.common.threadpool.ThreadPool;
+import org.apache.dubbo.common.threadpool.manager.ExecutorRepository;
+import org.apache.dubbo.common.utils.ExecutorUtil;
 import org.apache.dubbo.rpc.protocol.rest.RestHeaderEnum;
 import org.apache.dubbo.rpc.protocol.rest.deploy.ServiceDeployer;
 import org.apache.dubbo.rpc.protocol.rest.handler.NettyHttpHandler;
 import org.apache.dubbo.rpc.protocol.rest.request.NettyRequestFacade;
 
+import static org.apache.dubbo.config.Constants.SERVER_THREAD_POOL_NAME;
+
 
 public class RestHttpRequestDecoder extends 
MessageToMessageDecoder<io.netty.handler.codec.http.FullHttpRequest> {
     private final ErrorTypeAwareLogger logger = 
LoggerFactory.getErrorTypeAwareLogger(getClass());
@@ -48,7 +51,7 @@ public class RestHttpRequestDecoder extends 
MessageToMessageDecoder<io.netty.han
 
         this.url = url;
         this.serviceDeployer = serviceDeployer;
-        executor = 
url.getOrDefaultFrameworkModel().getExtensionLoader(ThreadPool.class).getAdaptiveExtension().getExecutor(url);
+        executor = 
ExecutorRepository.getInstance(url.getOrDefaultApplicationModel()).createExecutorIfAbsent(ExecutorUtil.setThreadName(url,
 SERVER_THREAD_POOL_NAME));
         nettyHttpHandler = new NettyHttpHandler(serviceDeployer, url);
     }
 

Reply via email to