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 generic invoke #4076

Merged
merged 1 commit into from
Sep 9, 2019
Merged

optimize generic invoke #4076

merged 1 commit into from
Sep 9, 2019

Conversation

nzomkxia
Copy link
Member

add a new generic type "raw.return" to reduce unnecessary result convert. effective for hessian serialization only

@codecov-io
Copy link

Codecov Report

Merging #4076 into master will decrease coverage by 0.03%.
The diff coverage is 28.57%.

Impacted file tree graph

@@             Coverage Diff              @@
##             master    #4076      +/-   ##
============================================
- Coverage     62.99%   62.95%   -0.04%     
  Complexity      544      544              
============================================
  Files           756      756              
  Lines         32578    32583       +5     
  Branches       5163     5166       +3     
============================================
- Hits          20523    20514       -9     
- Misses         9694     9704      +10     
- Partials       2361     2365       +4
Impacted Files Coverage Δ Complexity Δ
...ava/org/apache/dubbo/rpc/filter/GenericFilter.java 48.14% <25%> (-1.86%) 0 <0> (ø)
...va/org/apache/dubbo/rpc/support/ProtocolUtils.java 70.37% <33.33%> (-1.63%) 0 <0> (ø)
...ng/exchange/support/header/HeartbeatTimerTask.java 73.68% <0%> (-5.27%) 0% <0%> (ø)
...dubbo/remoting/exchange/support/DefaultFuture.java 71.42% <0%> (-2.73%) 0% <0%> (ø)
...he/dubbo/registry/multicast/MulticastRegistry.java 67.87% <0%> (-1.81%) 0% <0%> (ø)
.../dubbo/remoting/etcd/jetcd/JEtcdClientWrapper.java 19.49% <0%> (-1.26%) 0% <0%> (ø)
.../exchange/support/header/HeaderExchangeServer.java 67.92% <0%> (+0.94%) 0% <0%> (ø) ⬇️
.../apache/dubbo/remoting/transport/AbstractPeer.java 63.04% <0%> (+4.34%) 0% <0%> (ø) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1798fed...cf0653e. Read the comment docs.

@chickenlj chickenlj added this to the 2.7.3 milestone May 17, 2019
@chickenlj chickenlj self-requested a review May 17, 2019 02:08
@chickenlj
Copy link
Contributor

I think we need a precedent release of hessian-lite, right?

@nzomkxia
Copy link
Member Author

I think we need a precedent release of hessian-lite, right?

hessian-lite 3.2.6 has been released

@chickenlj chickenlj modified the milestones: 2.7.3, 2.7.4 Jun 18, 2019
@CLAassistant
Copy link

CLA assistant check
Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@chickenlj
Copy link
Contributor

@chickenlj
Copy link
Contributor

This optimization only works for hessian2 serialization:

  1. Generic server serializes pojo directly into the pipeline (contains class description info, save the time of converting pojo to map and then serialize map).
  2. Generic client deserializes raw bytes, hessian will fail not recognizing the class declared in the data and failover to MapDeserializer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants