You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by "zonghaishang (GitHub)" <gi...@apache.org> on 2018/11/05 11:22:55 UTC

[GitHub] [incubator-dubbo] zonghaishang opened pull request #2738: [Dubb - epoll ] Support epoll

## What is the purpose of the change

support epoll for dubbo, refer: https://github.com/apache/incubator-dubbo/issues/2737

## Brief changelog

1. consumerConfig, providerConfig, dubbo.xsd
2. AbstractSupport, NettySupport, NettyServer, NettyClient

## Verifying this change

ci passed & benchmark test passed.

benchmark: https://github.com/zonghaishang/dubbo-benchmark/tree/epoll_benchmark

Follow this checklist to help us incorporate your contribution quickly and easily:

- [x] Make sure there is a [GITHUB_issue](https://github.com/apache/incubator-dubbo/issues) filed for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
- [ ] Format the pull request title like `[Dubbo-XXX] Fix UnknownException when host config not exist #XXX`. Each commit in the pull request should have a meaningful subject line and body.
- [x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
- [x] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in [test module](https://github.com/apache/incubator-dubbo/tree/master/dubbo-test).
- [x] Run `mvn clean install -DskipTests` & `mvn clean test-compile failsafe:integration-test` to make sure unit-test and integration-test pass.
- [ ] If this contribution is large, please follow the [Software Donation Guide](https://github.com/apache/incubator-dubbo/wiki/Software-donation-guide).


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] lexburner commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "lexburner (GitHub)" <gi...@apache.org>.
+1, 之前测试过 Netty 支持的 native epoll, benchmark 的时候感触挺深,使用 NioSocketChannel 最高 qps 5600 ,替换成 EpollSocketChannel 之后 6300 qps,提升显著。但局限也是有的,1. 不兼容低版本 netty 2. 只在部分 linux 平台支持。
同意 @beiwei30 的建议,不需要在 dubbo 层面暴露 epoll 开关。

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] zonghaishang commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "zonghaishang (GitHub)" <gi...@apache.org>.
> epoll 打开与否目前只和 netty4 绑定,合理的做法是和 protocol 上的 transporter 绑定。或者在应用级别来控制(虽然现在只有 netty4 才支持)。也就是说没有必要在 provider, consumer, protocol 上都有是否支持 epoll 的判断

目前client端没有protocol承载属性,这块改不了,除非提前合并http2特性的代码


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] dubbo-bot commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "dubbo-bot (GitHub)" <gi...@apache.org>.
Ping @zonghaishang . Conflict happens after merging a previous commit. Please rebase the branch against master and push it back again. Thanks a lot.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] dubbo-bot commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "dubbo-bot (GitHub)" <gi...@apache.org>.
Ping @zonghaishang . Conflict happens after merging a previous commit. Please rebase the branch against master and push it back again. Thanks a lot.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] zonghaishang commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "zonghaishang (GitHub)" <gi...@apache.org>.
针对:按照目前的方式应该是会的,通过url会从provider透传到consumer,从而影响到consumer的epoll。
实际上感觉不透传好一些吧?

epoll server支持 epoll 和 非epoll调用过来,透传给client, 如果client自动知道server支持epoll,自动适配是合适的。

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] codecov-io commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=h1) Report
> Merging [#2738](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/2284ede0f14fae6212fac54a2e04a12534446da7?src=pr&el=desc) will **increase** coverage by `0.02%`.
> The diff coverage is `72.54%`.

[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master    #2738      +/-   ##
==========================================
+ Coverage   63.47%   63.49%   +0.02%     
==========================================
  Files         576      578       +2     
  Lines       25922    25966      +44     
  Branches     4540     4545       +5     
==========================================
+ Hits        16453    16488      +35     
- Misses       7308     7311       +3     
- Partials     2161     2167       +6
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [...c/main/java/org/apache/dubbo/common/Constants.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vQ29uc3RhbnRzLmphdmE=) | `88.88% <ø> (ø)` | :arrow_up: |
| [.../dubbo/remoting/transport/netty4/NettySupport.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5U3VwcG9ydC5qYXZh) | `100% <100%> (ø)` | |
| [...e/dubbo/remoting/transport/netty4/NettyServer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5U2VydmVyLmphdmE=) | `75.8% <100%> (+3.67%)` | :arrow_up: |
| [...n/java/org/apache/dubbo/config/ConsumerConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9Db25zdW1lckNvbmZpZy5qYXZh) | `86.2% <33.33%> (-6.11%)` | :arrow_down: |
| [...n/java/org/apache/dubbo/config/ProtocolConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9Qcm90b2NvbENvbmZpZy5qYXZh) | `74.26% <33.33%> (-0.93%)` | :arrow_down: |
| [...n/java/org/apache/dubbo/config/ProviderConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9Qcm92aWRlckNvbmZpZy5qYXZh) | `93.75% <33.33%> (-1.95%)` | :arrow_down: |
| [...bbo/remoting/transport/netty4/AbstractSupport.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L0Fic3RyYWN0U3VwcG9ydC5qYXZh) | `66.66% <66.66%> (ø)` | |
| [...e/dubbo/remoting/transport/netty4/NettyClient.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5Q2xpZW50LmphdmE=) | `74.28% <84.61%> (+0.95%)` | :arrow_up: |
| [.../remoting/transport/netty4/NettyClientHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5Q2xpZW50SGFuZGxlci5qYXZh) | `75% <0%> (-11.12%)` | :arrow_down: |
| [...e/dubbo/remoting/transport/netty/NettyChannel.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNoYW5uZWwuamF2YQ==) | `54.11% <0%> (-8.24%)` | :arrow_down: |
| ... and [19 more](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=footer). Last update [2284ede...6ac93a2](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] dubbo-bot commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "dubbo-bot (GitHub)" <gi...@apache.org>.
Ping @zonghaishang . Conflict happens after merging a previous commit. Please rebase the branch against master and push it back again. Thanks a lot.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] zonghaishang commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "zonghaishang (GitHub)" <gi...@apache.org>.
@lexburner please provide test code, :-)

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] zonghaishang commented on pull request #2738: [Dubb - epoll ] Support epoll

Posted by "zonghaishang (GitHub)" <gi...@apache.org>.
@htynkn  nice, fixed it.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] dubbo-bot commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "dubbo-bot (GitHub)" <gi...@apache.org>.
Ping @zonghaishang . Conflict happens after merging a previous commit. Please rebase the branch against master and push it back again. Thanks a lot.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] lexburner commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "lexburner (GitHub)" <gi...@apache.org>.
Hi
Here are some benchmark between NioEventLoop and EpollEventLoop, may be helpful to us.
I will complete the full benchmark with multi concurrency this week.

## NioEventLoop

### loop 1

--------------------------
Durations:       60.05s
Requests:        149128
Avg RT:          199.96ms
Max RT:          956.371ms
Min RT:          70.502ms
Error requests:  0
Valid requests:  149128
QPS:             2483.59
--------------------------

### loop 2

--------------------------
Durations:       60.10s
Requests:        167389
Avg RT:          178.01ms
Max RT:          869.573ms
Min RT:          56.505ms
Error requests:  0
Valid requests:  167389
QPS:             2785.27
--------------------------

### loop3

--------------------------
Durations:       60.08s
Requests:        182469
Avg RT:          163.76ms
Max RT:          1596.385ms
Min RT:          56.073ms
Error requests:  0
Valid requests:  182469
QPS:             3037.03
--------------------------

#### loop4

--------------------------
Durations:       60.09s
Requests:        195679
Avg RT:          152.67ms
Max RT:          585.317ms
Min RT:          59.803ms
Error requests:  0
Valid requests:  195679
QPS:             3056.37
--------------------------

## EpollEventLoop

### loop1

--------------------------
Durations:       60.07s
Requests:        186404
Avg RT:          161.60ms
Max RT:          769.791ms
Min RT:          62.629ms
Error requests:  0
Valid requests:  186404
QPS:             3102.88
--------------------------

### loop2

--------------------------
Durations:       60.04s
Requests:        188606
Avg RT:          158.21ms
Max RT:          402.622ms
Min RT:          56.726ms
Error requests:  0
Valid requests:  188606
QPS:             3141.41
--------------------------

### loop3

--------------------------
Durations:       60.10s
Requests:        189748
Avg RT:          157.53ms
Max RT:          399.215ms
Min RT:          59.836ms
Error requests:  0
Valid requests:  189748
QPS:             3157.08
--------------------------

### loop4

--------------------------
Durations:       60.06s
Requests:        191833
Avg RT:          156.00ms
Max RT:          1033.703ms
Min RT:          60.854ms
Error requests:  0
Valid requests:  191833
QPS:             3194.24
--------------------------


> 在 2018年12月10日,下午1:44,yì jí <no...@github.com> 写道:
> 
> Recently dealing with work, this feature will be completed by this week.
> 
> —
> You are receiving this because you commented.
> Reply to this email directly, view it on GitHub <https://github.com/apache/incubator-dubbo/pull/2738#issuecomment-445694582>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AK9DJkAOzrGZ1klc8_GMG5NqIAkLsCF_ks5u3fTSgaJpZM4YOPw8>.
> 



[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] zonghaishang commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "zonghaishang (GitHub)" <gi...@apache.org>.
针对:按照目前的方式应该是会的,通过url会从provider透传到consumer,从而影响到consumer的epoll。
实际上感觉不透传好一些吧?

epoll server支持 epoll 和 非epoll调用过来,透传给client, 如果client自动知道server支持epoll,针对dubbo场景多provider 自动用epoll效果更好一些

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] dubbo-bot commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "dubbo-bot (GitHub)" <gi...@apache.org>.
Ping @zonghaishang . Conflict happens after merging a previous commit. Please rebase the branch against master and push it back again. Thanks a lot.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] codecov-io commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=h1) Report
> Merging [#2738](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/2284ede0f14fae6212fac54a2e04a12534446da7?src=pr&el=desc) will **increase** coverage by `1.39%`.
> The diff coverage is `72.54%`.

[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master    #2738      +/-   ##
==========================================
+ Coverage   62.38%   63.77%   +1.39%     
==========================================
  Files         598      579      -19     
  Lines       27911    26094    -1817     
  Branches     4828     4584     -244     
==========================================
- Hits        17412    16642     -770     
+ Misses       8233     7297     -936     
+ Partials     2266     2155     -111
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [...c/main/java/org/apache/dubbo/common/Constants.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vQ29uc3RhbnRzLmphdmE=) | `88.88% <ø> (ø)` | :arrow_up: |
| [.../dubbo/remoting/transport/netty4/NettySupport.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5U3VwcG9ydC5qYXZh) | `100% <100%> (ø)` | |
| [...e/dubbo/remoting/transport/netty4/NettyServer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5U2VydmVyLmphdmE=) | `75.8% <100%> (+3.67%)` | :arrow_up: |
| [...n/java/org/apache/dubbo/config/ConsumerConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9Db25zdW1lckNvbmZpZy5qYXZh) | `86.2% <33.33%> (-6.11%)` | :arrow_down: |
| [...n/java/org/apache/dubbo/config/ProtocolConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9Qcm90b2NvbENvbmZpZy5qYXZh) | `74.26% <33.33%> (-0.93%)` | :arrow_down: |
| [...n/java/org/apache/dubbo/config/ProviderConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9Qcm92aWRlckNvbmZpZy5qYXZh) | `93.75% <33.33%> (-1.95%)` | :arrow_down: |
| [...bbo/remoting/transport/netty4/AbstractSupport.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L0Fic3RyYWN0U3VwcG9ydC5qYXZh) | `66.66% <66.66%> (ø)` | |
| [...e/dubbo/remoting/transport/netty4/NettyClient.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5Q2xpZW50LmphdmE=) | `74.28% <84.61%> (+0.95%)` | :arrow_up: |
| [...ubbo/rpc/protocol/dubbo/ChannelWrappedInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NoYW5uZWxXcmFwcGVkSW52b2tlci5qYXZh) | `41.66% <0%> (-4.17%)` | :arrow_down: |
| [...a/org/apache/dubbo/monitor/dubbo/DubboMonitor.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tbW9uaXRvci9kdWJiby1tb25pdG9yLWRlZmF1bHQvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL21vbml0b3IvZHViYm8vRHViYm9Nb25pdG9yLmphdmE=) | `89.71% <0%> (-0.94%)` | :arrow_down: |
| ... and [37 more](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=footer). Last update [2284ede...2cc6568](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] zonghaishang commented on pull request #2738: [Dubb - epoll ] Support epoll

Posted by "zonghaishang (GitHub)" <gi...@apache.org>.
epoll作为基类封装起来问题不大

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] zonghaishang commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "zonghaishang (GitHub)" <gi...@apache.org>.
Recently dealing with work, this feature will be completed by this week.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] beiwei30 commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "beiwei30 (GitHub)" <gi...@apache.org>.
没仔细看,几个建议:

* epoll 打开与否目前只和 netty4 绑定,合理的做法是和 protocol 上的 transporter 绑定。或者在应用级别来控制(虽然现在只有 netty4 才支持)。也就是说没有必要在 provider, consumer, protocol 上都有是否支持 epoll 的判断
* epoll 只是对 linux 平台上 native transport 的支持而已,更合理的做法是把 `AbstractSupport` 和 `NettySupport` 合并成 `NativeTransportFactory`,用来根据配置和平台自动返回对应的 `SocketChannel` 和 `EventLoopGroup` 的实例,当然出错情况下自动 fallbak 回 nio

综上所述,看起来 Transporter 应该有一个 TransporterConfig,或者干脆在 app 级别上定义。如果想不清楚,暂时通过 system properties 指定也是可以的。Native Transport 的支持需要考虑全平台,而不是只有 linux 上的 epoll,做成 factory 模式,出错 fallback 到 nio

---

I have a couple of suggestions after take a glance at the implementation:

* Right now, epoll support is tightly coupled with transport `netty4`, which I think it is fine, but from the perspective of its configuration, I believe more reasonable place for this configuration is transporter, or in my own opinion this configuration for whether enable native transport or now is global configuration, and should be applied to application level, even though currently we will only have its support for linux on netty4.  It is unnecessary and unreasonable to have the individual configuration for enabling epoll on different levels like provider, consumer, and protocol.
* Right now the implementation focus on epoll support only, we should consider more. Besides epoll on linux, we should also support kqueue on Mac/BSD, see https://netty.io/wiki/native-transports.html for more details. What I suggest is to implement a `NativeTransportFactory` by combining and enhancing the code in `AbstractSupport` and `NettySupport` together to produce the appropriate instances for `SocketChannel` and `EventLoopGroup` according to the platforms and the configurations the current application is running on. Of course, this factory should fallback to return the nio instances if anything goes wrong.

In summary, we should either define 'native-transporter' on ApplicationConfig or TransporterConfig (not introduced yet). It is also reasonable to introduce it with a system property if we cannot make the decision now.  For native transport support, we should consider not only epoll on linux, but also others.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] zonghaishang commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "zonghaishang (GitHub)" <gi...@apache.org>.
> epoll 打开与否目前只和 netty4 绑定,合理的做法是和 protocol 上的 transporter 绑定。或者在应用级别来控制(虽然现在只有 netty4 才支持)。也就是说没有必要在 provider, consumer, protocol 上都有是否支持 epoll 的判断

嗯,考虑了下移除protocol控制更合适,我会修复掉


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] beiwei30 commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "beiwei30 (GitHub)" <gi...@apache.org>.
any further update on this pull request @zonghaishang

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] beiwei30 commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "beiwei30 (GitHub)" <gi...@apache.org>.
any further update on this pull request @zonghaishang 

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] zonghaishang closed pull request #2738: [Dubb - epoll ] Support epoll

Posted by "zonghaishang (GitHub)" <gi...@apache.org>.
[ pull request closed by zonghaishang ]

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] htynkn commented on pull request #2738: [Dubb - epoll ] Support epoll

Posted by "htynkn (GitHub)" <gi...@apache.org>.
linux system doesn't mean it support epoll. we also need check major version.
Or we can use `io.netty.channel.epoll.Epoll`, it has a method `isAvailable`

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] carryxyh commented on pull request #2738: [Dubb - epoll ] Support epoll

Posted by "carryxyh (GitHub)" <gi...@apache.org>.
abstractsupport里不要放这种代码比较好吧?
nioEventLoopGroup方法其实已经具体到netty了,是不是把它放到实现里比较好。


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] zonghaishang commented on pull request #2738: [Dubb - epoll ] Support epoll

Posted by "zonghaishang (GitHub)" <gi...@apache.org>.
nice, I will fix it

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] zonghaishang commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "zonghaishang (GitHub)" <gi...@apache.org>.
@beiwei30 I will modify it again as suggested by the code review.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] codecov-io commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=h1) Report
> Merging [#2738](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/31de87008a33129d82236cfbf107fdf50cb477ad?src=pr&el=desc) will **decrease** coverage by `0.12%`.
> The diff coverage is `70.12%`.

[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master    #2738      +/-   ##
==========================================
- Coverage   64.09%   63.96%   -0.13%     
==========================================
  Files         584      589       +5     
  Lines       26059    26129      +70     
  Branches     4562     4569       +7     
==========================================
+ Hits        16702    16714      +12     
- Misses       7184     7229      +45     
- Partials     2173     2186      +13
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [...ing/transport/netty4/NettyBackedChannelBuffer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5QmFja2VkQ2hhbm5lbEJ1ZmZlci5qYXZh) | `19.04% <ø> (ø)` | :arrow_up: |
| [...c/main/java/org/apache/dubbo/common/Constants.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vQ29uc3RhbnRzLmphdmE=) | `88.88% <ø> (ø)` | :arrow_up: |
| [...e/dubbo/remoting/transport/netty4/NettyServer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5U2VydmVyLmphdmE=) | `75.8% <100%> (+0.39%)` | :arrow_up: |
| [...bbo/remoting/transport/netty4/NativeTransport.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05hdGl2ZVRyYW5zcG9ydC5qYXZh) | `100% <100%> (ø)` | |
| [...n/java/org/apache/dubbo/config/ConsumerConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9Db25zdW1lckNvbmZpZy5qYXZh) | `86.2% <33.33%> (-6.11%)` | :arrow_down: |
| [...n/java/org/apache/dubbo/config/ProviderConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9Qcm92aWRlckNvbmZpZy5qYXZh) | `93.75% <33.33%> (-1.95%)` | :arrow_down: |
| [...o/remoting/transport/netty4/TransporterConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L1RyYW5zcG9ydGVyQ29uZmlnLmphdmE=) | `43.75% <43.75%> (ø)` | |
| [...oting/transport/netty4/NativeTransportFactory.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05hdGl2ZVRyYW5zcG9ydEZhY3RvcnkuamF2YQ==) | `50% <50%> (ø)` | |
| [...o/remoting/transport/netty4/AbstractTransport.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L0Fic3RyYWN0VHJhbnNwb3J0LmphdmE=) | `71.42% <71.42%> (ø)` | |
| [.../dubbo/remoting/transport/netty4/ConfigOption.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L0NvbmZpZ09wdGlvbi5qYXZh) | `77.77% <77.77%> (ø)` | |
| ... and [17 more](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=footer). Last update [31de870...50bb3c8](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] codecov-io commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=h1) Report
> Merging [#2738](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/2284ede0f14fae6212fac54a2e04a12534446da7?src=pr&el=desc) will **increase** coverage by `1.38%`.
> The diff coverage is `72.54%`.

[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master    #2738      +/-   ##
==========================================
+ Coverage   62.38%   63.77%   +1.38%     
==========================================
  Files         598      579      -19     
  Lines       27911    26094    -1817     
  Branches     4828     4584     -244     
==========================================
- Hits        17412    16641     -771     
+ Misses       8233     7297     -936     
+ Partials     2266     2156     -110
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [...c/main/java/org/apache/dubbo/common/Constants.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vQ29uc3RhbnRzLmphdmE=) | `88.88% <ø> (ø)` | :arrow_up: |
| [.../dubbo/remoting/transport/netty4/NettySupport.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5U3VwcG9ydC5qYXZh) | `100% <100%> (ø)` | |
| [...e/dubbo/remoting/transport/netty4/NettyServer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5U2VydmVyLmphdmE=) | `75.8% <100%> (+3.67%)` | :arrow_up: |
| [...n/java/org/apache/dubbo/config/ConsumerConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9Db25zdW1lckNvbmZpZy5qYXZh) | `86.2% <33.33%> (-6.11%)` | :arrow_down: |
| [...n/java/org/apache/dubbo/config/ProtocolConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9Qcm90b2NvbENvbmZpZy5qYXZh) | `74.26% <33.33%> (-0.93%)` | :arrow_down: |
| [...n/java/org/apache/dubbo/config/ProviderConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9Qcm92aWRlckNvbmZpZy5qYXZh) | `93.75% <33.33%> (-1.95%)` | :arrow_down: |
| [...bbo/remoting/transport/netty4/AbstractSupport.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L0Fic3RyYWN0U3VwcG9ydC5qYXZh) | `66.66% <66.66%> (ø)` | |
| [...e/dubbo/remoting/transport/netty4/NettyClient.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5Q2xpZW50LmphdmE=) | `74.28% <84.61%> (+0.95%)` | :arrow_up: |
| [...ubbo/rpc/protocol/dubbo/ChannelWrappedInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NoYW5uZWxXcmFwcGVkSW52b2tlci5qYXZh) | `41.66% <0%> (-4.17%)` | :arrow_down: |
| [...a/org/apache/dubbo/monitor/dubbo/DubboMonitor.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tbW9uaXRvci9kdWJiby1tb25pdG9yLWRlZmF1bHQvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL21vbml0b3IvZHViYm8vRHViYm9Nb25pdG9yLmphdmE=) | `89.71% <0%> (-0.94%)` | :arrow_down: |
| ... and [37 more](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=footer). Last update [2284ede...6552362](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] codecov-io commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=h1) Report
> Merging [#2738](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/2284ede0f14fae6212fac54a2e04a12534446da7?src=pr&el=desc) will **increase** coverage by `1.31%`.
> The diff coverage is `72.54%`.

[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master    #2738      +/-   ##
==========================================
+ Coverage   62.38%   63.69%   +1.31%     
==========================================
  Files         598      579      -19     
  Lines       27911    26094    -1817     
  Branches     4828     4584     -244     
==========================================
- Hits        17412    16621     -791     
+ Misses       8233     7310     -923     
+ Partials     2266     2163     -103
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [...c/main/java/org/apache/dubbo/common/Constants.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vQ29uc3RhbnRzLmphdmE=) | `88.88% <ø> (ø)` | :arrow_up: |
| [.../dubbo/remoting/transport/netty4/NettySupport.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5U3VwcG9ydC5qYXZh) | `100% <100%> (ø)` | |
| [...e/dubbo/remoting/transport/netty4/NettyServer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5U2VydmVyLmphdmE=) | `75.8% <100%> (+3.67%)` | :arrow_up: |
| [...n/java/org/apache/dubbo/config/ConsumerConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9Db25zdW1lckNvbmZpZy5qYXZh) | `86.2% <33.33%> (-6.11%)` | :arrow_down: |
| [...n/java/org/apache/dubbo/config/ProtocolConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9Qcm90b2NvbENvbmZpZy5qYXZh) | `74.26% <33.33%> (-0.93%)` | :arrow_down: |
| [...n/java/org/apache/dubbo/config/ProviderConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9Qcm92aWRlckNvbmZpZy5qYXZh) | `93.75% <33.33%> (-1.95%)` | :arrow_down: |
| [...bbo/remoting/transport/netty4/AbstractSupport.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L0Fic3RyYWN0U3VwcG9ydC5qYXZh) | `66.66% <66.66%> (ø)` | |
| [...e/dubbo/remoting/transport/netty4/NettyClient.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5Q2xpZW50LmphdmE=) | `74.28% <84.61%> (+0.95%)` | :arrow_up: |
| [.../remoting/transport/netty4/NettyClientHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5Q2xpZW50SGFuZGxlci5qYXZh) | `75% <0%> (-11.12%)` | :arrow_down: |
| [...e/dubbo/remoting/transport/netty/NettyChannel.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNoYW5uZWwuamF2YQ==) | `54.11% <0%> (-8.24%)` | :arrow_down: |
| ... and [40 more](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=footer). Last update [2284ede...6ac93a2](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] codecov-io commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=h1) Report
> Merging [#2738](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/2284ede0f14fae6212fac54a2e04a12534446da7?src=pr&el=desc) will **increase** coverage by `1.36%`.
> The diff coverage is `72.54%`.

[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master    #2738      +/-   ##
==========================================
+ Coverage   62.38%   63.75%   +1.36%     
==========================================
  Files         598      579      -19     
  Lines       27911    26094    -1817     
  Branches     4828     4584     -244     
==========================================
- Hits        17412    16635     -777     
+ Misses       8233     7301     -932     
+ Partials     2266     2158     -108
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [...c/main/java/org/apache/dubbo/common/Constants.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vQ29uc3RhbnRzLmphdmE=) | `88.88% <ø> (ø)` | :arrow_up: |
| [.../dubbo/remoting/transport/netty4/NettySupport.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5U3VwcG9ydC5qYXZh) | `100% <100%> (ø)` | |
| [...e/dubbo/remoting/transport/netty4/NettyServer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5U2VydmVyLmphdmE=) | `75.8% <100%> (+3.67%)` | :arrow_up: |
| [...n/java/org/apache/dubbo/config/ConsumerConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9Db25zdW1lckNvbmZpZy5qYXZh) | `86.2% <33.33%> (-6.11%)` | :arrow_down: |
| [...n/java/org/apache/dubbo/config/ProtocolConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9Qcm90b2NvbENvbmZpZy5qYXZh) | `74.26% <33.33%> (-0.93%)` | :arrow_down: |
| [...n/java/org/apache/dubbo/config/ProviderConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9Qcm92aWRlckNvbmZpZy5qYXZh) | `93.75% <33.33%> (-1.95%)` | :arrow_down: |
| [...bbo/remoting/transport/netty4/AbstractSupport.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L0Fic3RyYWN0U3VwcG9ydC5qYXZh) | `66.66% <66.66%> (ø)` | |
| [...e/dubbo/remoting/transport/netty4/NettyClient.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5Q2xpZW50LmphdmE=) | `74.28% <84.61%> (+0.95%)` | :arrow_up: |
| [.../remoting/transport/netty4/NettyClientHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5Q2xpZW50SGFuZGxlci5qYXZh) | `75% <0%> (-11.12%)` | :arrow_down: |
| [...ubbo/rpc/protocol/dubbo/ChannelWrappedInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NoYW5uZWxXcmFwcGVkSW52b2tlci5qYXZh) | `41.66% <0%> (-4.17%)` | :arrow_down: |
| ... and [39 more](https://codecov.io/gh/apache/incubator-dubbo/pull/2738/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=footer). Last update [2284ede...6ac93a2](https://codecov.io/gh/apache/incubator-dubbo/pull/2738?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] lexburner commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "lexburner (GitHub)" <gi...@apache.org>.
Hi
Here is my repository for dubbo epoll  benchmark : https://github.com/lexburner/dubbo-epoll-benchmark <https://github.com/lexburner/dubbo-epoll-benchmark>

Pls add the consumer and provider using your feature/epoll dubbo branch to test it.

> 在 2018年12月11日,上午10:47,yì jí <no...@github.com> 写道:
> 
> @beiwei30 <https://github.com/beiwei30> I will modify it again as suggested by the code review.
> 
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub <https://github.com/apache/incubator-dubbo/pull/2738#issuecomment-446052439>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AK9DJmHib_1RMbonnbtqzaC3lZ7PnsdHks5u3xykgaJpZM4YOPw8>.
> 



[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] dubbo-bot commented on issue #2738: [Dubb - epoll ] Support epoll

Posted by "dubbo-bot (GitHub)" <gi...@apache.org>.
Ping @zonghaishang . Conflict happens after merging a previous commit. Please rebase the branch against master and push it back again. Thanks a lot.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2738 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org