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

jianbin pushed a commit to branch 2.x
in repository https://gitbox.apache.org/repos/asf/incubator-seata.git


The following commit(s) were added to refs/heads/2.x by this push:
     new a1aba35946 feature: support `EpollEventLoopGroup` in client (#7171)
a1aba35946 is described below

commit a1aba35946390b25644819548154af117698b0fe
Author: Yongjun Hong <dev.yongj...@gmail.com>
AuthorDate: Wed Feb 19 19:02:14 2025 +0900

    feature: support `EpollEventLoopGroup` in client (#7171)
---
 changes/en-us/2.x.md                                        |  1 +
 changes/zh-cn/2.x.md                                        |  1 +
 .../apache/seata/core/rpc/netty/NettyClientBootstrap.java   | 13 ++++++++++---
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/changes/en-us/2.x.md b/changes/en-us/2.x.md
index c9d01ae10c..2e8e699f30 100644
--- a/changes/en-us/2.x.md
+++ b/changes/en-us/2.x.md
@@ -10,6 +10,7 @@ Add changes here for all PR submitted to the 2.x branch.
 - [[#7069](https://github.com/apache/incubator-seata/pull/7069)] Raft cluster 
mode supports address translation
 - [[#7038](https://github.com/apache/incubator-seata/pull/7038)] support fury 
serializer
 - [[#7133](https://github.com/apache/incubator-seata/pull/7133)] Implement 
scheduled handling for end status transaction
+- [[#7171](https://github.com/apache/incubator-seata/pull/7171)] support 
EpollEventLoopGroup in client
 
 ### bugfix:
 
diff --git a/changes/zh-cn/2.x.md b/changes/zh-cn/2.x.md
index 8c399000ca..f661d8c167 100644
--- a/changes/zh-cn/2.x.md
+++ b/changes/zh-cn/2.x.md
@@ -10,6 +10,7 @@
 - [[#7069](https://github.com/apache/incubator-seata/pull/7069)] Raft集群模式支持地址转换
 - [[#7038](https://github.com/apache/incubator-seata/pull/7038)] 支持Fury序列化器
 - [[#7133](https://github.com/apache/incubator-seata/pull/7133)] 
实现对残留的end状态事务定时处理
+- [[#7171](https://github.com/apache/incubator-seata/pull/7171)] 客户端支持 
EpollEventLoopGroup
 
 ### bugfix:
 
diff --git 
a/core/src/main/java/org/apache/seata/core/rpc/netty/NettyClientBootstrap.java 
b/core/src/main/java/org/apache/seata/core/rpc/netty/NettyClientBootstrap.java
index 990b244954..1c1bb748d5 100644
--- 
a/core/src/main/java/org/apache/seata/core/rpc/netty/NettyClientBootstrap.java
+++ 
b/core/src/main/java/org/apache/seata/core/rpc/netty/NettyClientBootstrap.java
@@ -28,6 +28,7 @@ import io.netty.channel.ChannelOption;
 import io.netty.channel.ChannelPipeline;
 import io.netty.channel.EventLoopGroup;
 import io.netty.channel.epoll.EpollChannelOption;
+import io.netty.channel.epoll.EpollEventLoopGroup;
 import io.netty.channel.epoll.EpollMode;
 import io.netty.channel.nio.NioEventLoopGroup;
 import io.netty.channel.socket.SocketChannel;
@@ -80,9 +81,15 @@ public class NettyClientBootstrap implements 
RemotingBootstrap {
         this.nettyClientConfig = nettyClientConfig;
         int selectorThreadSizeThreadSize = 
this.nettyClientConfig.getClientSelectorThreadSize();
         this.transactionRole = transactionRole;
-        this.eventLoopGroupWorker = new 
NioEventLoopGroup(selectorThreadSizeThreadSize,
-            new 
NamedThreadFactory(getThreadPrefix(this.nettyClientConfig.getClientSelectorThreadPrefix()),
-                selectorThreadSizeThreadSize));
+        if (NettyServerConfig.enableEpoll()) {
+            this.eventLoopGroupWorker = new 
EpollEventLoopGroup(selectorThreadSizeThreadSize,
+                new 
NamedThreadFactory(getThreadPrefix(this.nettyClientConfig.getClientSelectorThreadPrefix()),
+                    selectorThreadSizeThreadSize));
+        } else {
+            this.eventLoopGroupWorker = new 
NioEventLoopGroup(selectorThreadSizeThreadSize,
+                new 
NamedThreadFactory(getThreadPrefix(this.nettyClientConfig.getClientSelectorThreadPrefix()),
+                    selectorThreadSizeThreadSize));
+        }
         this.defaultEventExecutorGroup = eventExecutorGroup;
     }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@seata.apache.org
For additional commands, e-mail: notifications-h...@seata.apache.org

Reply via email to