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 : Eliminate RpcMessage and Encoder/Decoder dependencies #6209

Merged
merged 29 commits into from
Jun 24, 2024

Conversation

Bughue
Copy link
Contributor

@Bughue Bughue commented Dec 25, 2023

  • I have registered the PR changes.

Ⅰ. Describe what this PR did

新引入ProtocolRpcMessage(接口),用以解开rpcmessage和encoder/decoder的依赖关系。encoder/decoder只依赖ProtocolRpcMessage(支持不同版本协议的区分),而原有的RpcMessage继续服务于协议解析后的业务逻辑
A new ProtocolRpcMessage interface is introduced to decouple rpcmessage from encoder/decoder, which only relies on ProtocolRpcMessage (to support differentiation between different versions of the protocol), while the original RpcMessage continues to serve the The original RpcMessage continues to serve the business logic after the protocol is parsed.

Ⅱ. Does this pull request fix one issue?

fixes #6210

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

Ⅳ. Describe how to verify it

Ⅴ. Special notes for reviews

@Bughue Bughue changed the title optimize : Unwinding RpcMessage and Encoder/Decoder dependencies optimize : Eliminate RpcMessage and Encoder/Decoder dependencies Dec 25, 2023
@codecov-commenter
Copy link

codecov-commenter commented Jan 4, 2024

Codecov Report

Attention: Patch coverage is 0% with 101 lines in your changes missing coverage. Please review.

Project coverage is 50.28%. Comparing base (933b492) to head (8e70690).
Report is 16 commits behind head on 2.x.

Current head 8e70690 differs from pull request most recent head ade6ff7

Please upload reports for the commit ade6ff7 to get more accurate results.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff              @@
##                2.x    #6209      +/-   ##
============================================
- Coverage     51.13%   50.28%   -0.85%     
+ Complexity     5317     5253      -64     
============================================
  Files           950      944       -6     
  Lines         33448    33382      -66     
  Branches       4048     4042       -6     
============================================
- Hits          17103    16786     -317     
- Misses        14666    14969     +303     
+ Partials       1679     1627      -52     
Files Coverage Δ
...che/seata/core/rpc/netty/v1/ProtocolV1Decoder.java 14.54% <0.00%> (-47.28%) ⬇️
...che/seata/core/rpc/netty/v1/ProtocolV1Encoder.java 4.87% <0.00%> (-61.79%) ⬇️
...ta/core/rpc/netty/AbstractNettyRemotingClient.java 20.00% <0.00%> (-9.33%) ⬇️
...ta/core/rpc/netty/AbstractNettyRemotingServer.java 15.30% <0.00%> (-19.07%) ⬇️
.../seata/core/rpc/netty/v1/ProtocolRpcMessageV1.java 0.00% <0.00%> (ø)
.../seata/core/rpc/netty/v0/ProtocolRpcMessageV0.java 0.00% <0.00%> (ø)

... and 89 files with indirect coverage changes

@Bughue Bughue closed this Jan 23, 2024
@Bughue Bughue reopened this Jan 23, 2024
…-msg

# Conflicts:
#	core/src/main/java/org/apache/seata/core/rpc/netty/AbstractNettyRemoting.java
#	core/src/main/java/org/apache/seata/core/rpc/netty/ProtocolRpcMessage.java
#	core/src/main/java/org/apache/seata/core/rpc/netty/v0/ProtocolRpcMessageV0.java
#	core/src/main/java/org/apache/seata/core/rpc/netty/v1/ProtocolRpcMessageV1.java
#	core/src/main/java/org/apache/seata/core/rpc/netty/v1/ProtocolV1Decoder.java
#	test/src/test/java/org/apache/seata/core/rpc/netty/v1/ClientChannelHandler.java
#	test/src/test/java/org/apache/seata/core/rpc/netty/v1/ProtocolV1SerializerTest.java
#	test/src/test/java/org/apache/seata/core/rpc/netty/v1/ServerChannelHandler.java
@funky-eyes funky-eyes added this to the 2.2.0 milestone Jun 21, 2024
Copy link
Contributor

@funky-eyes funky-eyes 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 merged commit eb19e98 into apache:2.x Jun 24, 2024
6 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.

Protocol layer strongly relies on rpcmessage, which has implications for multi-version protocol adaptation.
4 participants