Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

optimize: splitting MergedWarpMessage enhances the server parallel processing capability #6807

Merged
merged 30 commits into from
Oct 31, 2024

Conversation

funky-eyes
Copy link
Contributor

@funky-eyes funky-eyes commented Sep 3, 2024

  • I have registered the PR changes.

Ⅰ. Describe what this PR did

当client为2.3.0时,server将merge msg还原回单独的rpcmsg,使其通过msg类型定位到对应的线程池,放入线程池中处理
client为2.3.0时,可直接通过单个response的id定位到future进行响应client的请求,并清理mergemap,避免因为由于单个响应导致client的mergemap无限膨胀无法清理的问题
而由于2.3的client可能跟多个版本server通信,多个版本的client也可能跟2.3server通信,所以老的逻辑不进行改变向下兼容。

Ⅱ. Does this pull request fix one issue?

fixes #6775

Ⅲ. Why don't you add test cases (unit test/integration test)?

Ⅳ. Describe how to verify it

Ⅴ. Special notes for reviews

@funky-eyes funky-eyes added this to the 2.x Backlog milestone Sep 3, 2024
Copy link

codecov bot commented Sep 3, 2024

Codecov Report

Attention: Patch coverage is 23.80952% with 48 lines in your changes missing coverage. Please review.

Project coverage is 52.69%. Comparing base (37b8418) to head (3d1a93a).
Report is 2 commits behind head on 2.x.

Files with missing lines Patch % Lines
...pc/processor/client/ClientOnResponseProcessor.java 4.34% 22 Missing ⚠️
...ta/core/rpc/netty/AbstractNettyRemotingServer.java 22.22% 13 Missing and 1 partial ⚠️
...ta/core/rpc/netty/AbstractNettyRemotingClient.java 16.66% 9 Missing and 1 partial ⚠️
...n/java/org/apache/seata/core/protocol/Version.java 83.33% 1 Missing ⚠️
...he/seata/core/rpc/netty/TmNettyRemotingClient.java 50.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff              @@
##                2.x    #6807      +/-   ##
============================================
+ Coverage     52.68%   52.69%   +0.01%     
- Complexity     6559     6569      +10     
============================================
  Files          1122     1124       +2     
  Lines         39864    39915      +51     
  Branches       4667     4675       +8     
============================================
+ Hits          21002    21033      +31     
- Misses        16866    16879      +13     
- Partials       1996     2003       +7     
Files with missing lines Coverage Δ
...ache/seata/core/rpc/netty/NettyRemotingServer.java 87.50% <100.00%> (ø)
...he/seata/core/rpc/netty/RmNettyRemotingClient.java 52.59% <100.00%> (ø)
...n/java/org/apache/seata/core/protocol/Version.java 68.29% <83.33%> (-2.44%) ⬇️
...he/seata/core/rpc/netty/TmNettyRemotingClient.java 72.54% <50.00%> (ø)
...ta/core/rpc/netty/AbstractNettyRemotingClient.java 28.89% <16.66%> (-0.43%) ⬇️
...ta/core/rpc/netty/AbstractNettyRemotingServer.java 30.70% <22.22%> (-1.59%) ⬇️
...pc/processor/client/ClientOnResponseProcessor.java 17.07% <4.34%> (-1.68%) ⬇️

... and 6 files with indirect coverage changes

@funky-eyes funky-eyes requested a review from slievrly September 9, 2024 02:01
Copy link
Member

@xingfudeshi xingfudeshi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@funky-eyes funky-eyes modified the milestones: 2.x Backlog, 2.3.0 Oct 31, 2024
@funky-eyes funky-eyes merged commit 5d2b139 into apache:2.x Oct 31, 2024
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement an independent ChannelDuplexHandler for MergedWarpMessage
2 participants