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);
}