spring-cloud-openfeign icon indicating copy to clipboard operation
spring-cloud-openfeign copied to clipboard

Async feign flow

Open thanhj opened this issue 3 years ago • 9 comments

thanhj avatar Mar 13 '21 11:03 thanhj

Codecov Report

Merging #511 (d585597) into 2.2.x (e3439f3) will increase coverage by 0.53%. The diff coverage is 81.25%.

Impacted file tree graph

@@             Coverage Diff              @@
##              2.2.x     #511      +/-   ##
============================================
+ Coverage     77.69%   78.22%   +0.53%     
- Complexity      521      560      +39     
============================================
  Files            71       74       +3     
  Lines          2089     2301     +212     
  Branches        290      319      +29     
============================================
+ Hits           1623     1800     +177     
- Misses          327      348      +21     
- Partials        139      153      +14     
Impacted Files Coverage Δ Complexity Δ
...mework/cloud/openfeign/FeignClientFactoryBean.java 71.09% <71.55%> (+2.32%) 88.00 <27.00> (+26.00)
...eign/async/AsyncHttpClient5FeignConfiguration.java 88.33% <88.33%> (ø) 7.00 <7.00> (?)
...d/openfeign/support/FeignHttpClientProperties.java 93.81% <94.73%> (+0.06%) 20.00 <2.00> (+2.00)
...ork/cloud/openfeign/FeignClientsConfiguration.java 95.34% <100.00%> (+0.11%) 17.00 <1.00> (+1.00)
...amework/cloud/openfeign/FeignClientsRegistrar.java 78.92% <100.00%> (+0.20%) 54.00 <0.00> (ø)
...d/openfeign/async/AsyncFeignAutoConfiguration.java 100.00% <100.00%> (ø) 1.00 <1.00> (?)
...rk/cloud/openfeign/async/DefaultAsyncTargeter.java 100.00% <100.00%> (ø) 2.00 <2.00> (?)

codecov[bot] avatar Mar 13 '21 23:03 codecov[bot]

Hi @OlgaMaciaszek, any chance that you have checked this PR?

thanhj avatar Mar 22 '21 14:03 thanhj

Hi, @thanhj - will work on it now.

OlgaMaciaszek avatar Apr 15 '21 09:04 OlgaMaciaszek

Hello, @thanhj thanks for submitting the PR. Have added some comments regarding things that will need to be changed in order to go forward with it, however, we should probably hold on with it still, as I have noticed that AsyncFeign is still marked as @Experimental and I am not sure we will want to add support till that changes - discussing it with the team.

Yes, it is true. But I still hope to receive positive feedback from your team discussion. I believe the @Experimental is more about the class design, and I also have tested the performance of this approach and got it applied to our production.

thanhj avatar Apr 15 '21 12:04 thanhj

@thanhj we have just discussed it in the team. We've decided that we would not be merging it to the main SC OpenFeign repo until it's @Experimental in Feign. However, we do have an incubator org: https://github.com/spring-cloud-incubator, and we could add a separate plug-in module (would have to be a separate maven dependency) with just the AsyncFeign support there. As an example you can see, https://github.com/spring-cloud-incubator/spring-cloud-sleuth-otel that is an incubator module for a released project (https://github.com/spring-cloud/spring-cloud-sleuth). Please let me know if you would like to work on sth like this.

OlgaMaciaszek avatar Apr 15 '21 14:04 OlgaMaciaszek

@thanhj I have created an incubator repo: https://github.com/spring-cloud-incubator/spring-cloud-openfeign-async and already set it up. Please create a PR with your changes. Please add the changes in the spring-cloud-openfeign-async-core module and use the org.springframework.cloud.openfeign.async.core package.

OlgaMaciaszek avatar Apr 20 '21 15:04 OlgaMaciaszek

Thanks @OlgaMaciaszek, I am on it.

thanhj avatar Apr 26 '21 09:04 thanhj

I am not very familiar with setting up a Spring library from scratch like this, so it may take me a bit more time to raise first PR. Also, any suggestion or direction from you would be great, thanks.

thanhj avatar May 02 '21 15:05 thanhj

@thanhj Will give it some thought and get back to you with some guidelines.

OlgaMaciaszek avatar May 07 '21 09:05 OlgaMaciaszek