You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by "gudegg (GitHub)" <gi...@apache.org> on 2018/09/30 03:10:03 UTC
[GitHub] [incubator-dubbo] gudegg opened pull request #2586: Optimize
RoundRobinLoadBalance
## What is the purpose of the change
fix:https://github.com/apache/incubator-dubbo/issues/2578
## Brief changelog
Optimize RoundRobinLoadBalance
## Verifying this change
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.
- [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
- [ ] 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).
- [ ] 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/2586 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] codecov-io commented on issue #2586:
Optimize RoundRobinLoadBalance
Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?src=pr&el=h1) Report
> Merging [#2586](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/9b7284f4d5c7f48e5d164670eb512d16987e5e25?src=pr&el=desc) will **decrease** coverage by `0.12%`.
> The diff coverage is `100%`.
[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?src=pr&el=tree)
```diff
@@ Coverage Diff @@
## master #2586 +/- ##
============================================
- Coverage 55.2% 55.07% -0.13%
+ Complexity 5298 5288 -10
============================================
Files 573 573
Lines 25538 25529 -9
Branches 4531 4530 -1
============================================
- Hits 14097 14060 -37
- Misses 9341 9362 +21
- Partials 2100 2107 +7
```
| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...rpc/cluster/loadbalance/RoundRobinLoadBalance.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tY2x1c3Rlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL2NsdXN0ZXIvbG9hZGJhbGFuY2UvUm91bmRSb2JpbkxvYWRCYWxhbmNlLmphdmE=) | `93.75% <100%> (+5.94%)` | `8 <0> (-1)` | :arrow_down: |
| [...org/apache/dubbo/rpc/filter/ActiveLimitFilter.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JwYy9maWx0ZXIvQWN0aXZlTGltaXRGaWx0ZXIuamF2YQ==) | `77.77% <0%> (-11.12%)` | `5% <0%> (-2%)` | |
| [...he/dubbo/remoting/transport/netty/NettyClient.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNsaWVudC5qYXZh) | `72.88% <0%> (-10.17%)` | `12% <0%> (-1%)` | |
| [...ubbo/rpc/protocol/dubbo/ChannelWrappedInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NoYW5uZWxXcmFwcGVkSW52b2tlci5qYXZh) | `41.66% <0%> (-8.34%)` | `3% <0%> (ø)` | |
| [...apache/dubbo/rpc/protocol/dubbo/FutureAdapter.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0Z1dHVyZUFkYXB0ZXIuamF2YQ==) | `58.06% <0%> (-6.46%)` | `3% <0%> (ø)` | |
| [...rpc/protocol/dubbo/telnet/InvokeTelnetHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL3RlbG5ldC9JbnZva2VUZWxuZXRIYW5kbGVyLmphdmE=) | `54.21% <0%> (-3.62%)` | `13% <0%> (-2%)` | |
| [...he/dubbo/remoting/transport/netty/NettyServer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eVNlcnZlci5qYXZh) | `67.85% <0%> (-3.58%)` | `8% <0%> (-1%)` | |
| [.../apache/dubbo/rpc/protocol/dubbo/DubboInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0R1YmJvSW52b2tlci5qYXZh) | `68.33% <0%> (-3.34%)` | `11% <0%> (ø)` | |
| [...bo/remoting/transport/netty/NettyCodecAdapter.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNvZGVjQWRhcHRlci5qYXZh) | `53.12% <0%> (-1.57%)` | `3% <0%> (ø)` | |
| [...dubbo/rpc/protocol/dubbo/CallbackServiceCodec.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NhbGxiYWNrU2VydmljZUNvZGVjLmphdmE=) | `77.2% <0%> (-1.48%)` | `29% <0%> (ø)` | |
| ... and [4 more](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree-more) | |
------
[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?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/2586?src=pr&el=footer). Last update [9b7284f...f33359b](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?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/2586 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] carryxyh commented on issue #2586:
Optimize RoundRobinLoadBalance
Posted by "carryxyh (GitHub)" <gi...@apache.org>.
@kimmking
Have a look. :)
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2586 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] ralf0131 commented on issue #2586:
Optimize RoundRobinLoadBalance
Posted by "ralf0131 (GitHub)" <gi...@apache.org>.
This pull request looks good to me. Nice work!
The time complexity is O(n), where n is the number of invokers, which is a significant improvement to the previous one, which is O(n*w), where n is the number of invokers, and w is the max weight of the invokers.
I'd prefer to have more unit tests for this algorithm.
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2586 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] kimmking commented on pull request #2586:
Optimize RoundRobinLoadBalance
Posted by "kimmking (GitHub)" <gi...@apache.org>.
good!!
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2586 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] gudegg commented on issue #2586: Optimize
RoundRobinLoadBalance
Posted by "gudegg (GitHub)" <gi...@apache.org>.
@kimmking Have a look! I made a little change.
algorithm: Only need invokers#size loop at most.
<img width="504" alt="qq20181005-125137 2x" src="https://user-images.githubusercontent.com/13344666/46516673-98932180-c89d-11e8-88b8-3ba989120acf.png">
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2586 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] ralf0131 commented on pull request #2586:
Optimize RoundRobinLoadBalance
Posted by "ralf0131 (GitHub)" <gi...@apache.org>.
The name `invokerToWeightList` can be improved. I think `weightedInvokerList` or `nonZeroWeightedInvokers` should be better. :)
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2586 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] codecov-io commented on issue #2586:
Optimize RoundRobinLoadBalance
Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?src=pr&el=h1) Report
> Merging [#2586](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/9b7284f4d5c7f48e5d164670eb512d16987e5e25?src=pr&el=desc) will **decrease** coverage by `0.09%`.
> The diff coverage is `100%`.
[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?src=pr&el=tree)
```diff
@@ Coverage Diff @@
## master #2586 +/- ##
===========================================
- Coverage 55.14% 55.05% -0.1%
+ Complexity 5295 5285 -10
===========================================
Files 573 573
Lines 25538 25529 -9
Branches 4531 4530 -1
===========================================
- Hits 14084 14055 -29
- Misses 9351 9364 +13
- Partials 2103 2110 +7
```
| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...rpc/cluster/loadbalance/RoundRobinLoadBalance.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tY2x1c3Rlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL2NsdXN0ZXIvbG9hZGJhbGFuY2UvUm91bmRSb2JpbkxvYWRCYWxhbmNlLmphdmE=) | `93.75% <100%> (+5.94%)` | `8 <0> (-1)` | :arrow_down: |
| [...e/dubbo/remoting/transport/netty/NettyChannel.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNoYW5uZWwuamF2YQ==) | `56.25% <0%> (-10%)` | `18% <0%> (-3%)` | |
| [...he/dubbo/remoting/transport/netty/NettyClient.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNsaWVudC5qYXZh) | `72.88% <0%> (-8.48%)` | `12% <0%> (-1%)` | |
| [...ubbo/rpc/protocol/dubbo/ChannelWrappedInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NoYW5uZWxXcmFwcGVkSW52b2tlci5qYXZh) | `41.66% <0%> (-4.17%)` | `3% <0%> (ø)` | |
| [...he/dubbo/registry/multicast/MulticastRegistry.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcmVnaXN0cnkvZHViYm8tcmVnaXN0cnktbXVsdGljYXN0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZWdpc3RyeS9tdWx0aWNhc3QvTXVsdGljYXN0UmVnaXN0cnkuamF2YQ==) | `55.6% <0%> (-1.73%)` | `35% <0%> (-3%)` | |
| [...bo/remoting/transport/netty/NettyCodecAdapter.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNvZGVjQWRhcHRlci5qYXZh) | `53.12% <0%> (-1.57%)` | `3% <0%> (ø)` | |
| [...ache/dubbo/remoting/transport/mina/MinaClient.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbWluYS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcmVtb3RpbmcvdHJhbnNwb3J0L21pbmEvTWluYUNsaWVudC5qYXZh) | `56.92% <0%> (-1.54%)` | `8% <0%> (-1%)` | |
| [...dubbo/rpc/protocol/dubbo/CallbackServiceCodec.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NhbGxiYWNrU2VydmljZUNvZGVjLmphdmE=) | `77.2% <0%> (-1.48%)` | `29% <0%> (ø)` | |
| [.../dubbo/remoting/transport/netty4/NettyChannel.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5Q2hhbm5lbC5qYXZh) | `61.17% <0%> (-1.18%)` | `22% <0%> (-1%)` | |
| [...apache/dubbo/rpc/protocol/dubbo/DubboProtocol.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0R1YmJvUHJvdG9jb2wuamF2YQ==) | `58.33% <0%> (-0.84%)` | `30% <0%> (-1%)` | |
| ... and [2 more](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree-more) | |
------
[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?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/2586?src=pr&el=footer). Last update [9b7284f...237ff2b](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?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/2586 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] codecov-io commented on issue #2586:
Optimize RoundRobinLoadBalance
Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?src=pr&el=h1) Report
> Merging [#2586](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/9b7284f4d5c7f48e5d164670eb512d16987e5e25?src=pr&el=desc) will **decrease** coverage by `0.09%`.
> The diff coverage is `100%`.
[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?src=pr&el=tree)
```diff
@@ Coverage Diff @@
## master #2586 +/- ##
===========================================
- Coverage 55.16% 55.07% -0.1%
+ Complexity 5295 5290 -5
===========================================
Files 573 573
Lines 25538 25529 -9
Branches 4531 4530 -1
===========================================
- Hits 14087 14059 -28
- Misses 9348 9364 +16
- Partials 2103 2106 +3
```
| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...rpc/cluster/loadbalance/RoundRobinLoadBalance.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tY2x1c3Rlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL2NsdXN0ZXIvbG9hZGJhbGFuY2UvUm91bmRSb2JpbkxvYWRCYWxhbmNlLmphdmE=) | `93.75% <100%> (+5.94%)` | `8 <0> (-1)` | :arrow_down: |
| [...he/dubbo/remoting/transport/netty/NettyClient.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNsaWVudC5qYXZh) | `72.88% <0%> (-8.48%)` | `12% <0%> (-1%)` | |
| [.../dubbo/remoting/transport/netty4/NettyChannel.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5Q2hhbm5lbC5qYXZh) | `57.64% <0%> (-4.71%)` | `22% <0%> (-1%)` | |
| [...ubbo/rpc/protocol/dubbo/ChannelWrappedInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NoYW5uZWxXcmFwcGVkSW52b2tlci5qYXZh) | `41.66% <0%> (-4.17%)` | `3% <0%> (ø)` | |
| [...rpc/protocol/dubbo/telnet/InvokeTelnetHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL3RlbG5ldC9JbnZva2VUZWxuZXRIYW5kbGVyLmphdmE=) | `54.21% <0%> (-3.62%)` | `13% <0%> (-2%)` | |
| [.../apache/dubbo/rpc/protocol/dubbo/DubboInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0R1YmJvSW52b2tlci5qYXZh) | `68.33% <0%> (-3.34%)` | `11% <0%> (ø)` | |
| [...e/dubbo/remoting/transport/netty4/NettyServer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5U2VydmVyLmphdmE=) | `72.13% <0%> (-3.28%)` | `9% <0%> (-1%)` | |
| [...bo/remoting/transport/netty/NettyCodecAdapter.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNvZGVjQWRhcHRlci5qYXZh) | `53.12% <0%> (-1.57%)` | `3% <0%> (ø)` | |
| [...dubbo/rpc/protocol/dubbo/CallbackServiceCodec.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NhbGxiYWNrU2VydmljZUNvZGVjLmphdmE=) | `77.2% <0%> (-1.48%)` | `29% <0%> (ø)` | |
| [.../src/main/java/org/apache/dubbo/rpc/RpcStatus.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JwYy9ScGNTdGF0dXMuamF2YQ==) | `57.89% <0%> (-1.06%)` | `18% <0%> (ø)` | |
| ... and [4 more](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree-more) | |
------
[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?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/2586?src=pr&el=footer). Last update [9b7284f...5d4289d](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?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/2586 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] codecov-io commented on issue #2586:
Optimize RoundRobinLoadBalance
Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?src=pr&el=h1) Report
> Merging [#2586](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/9b7284f4d5c7f48e5d164670eb512d16987e5e25?src=pr&el=desc) will **decrease** coverage by `0.09%`.
> The diff coverage is `100%`.
[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?src=pr&el=tree)
```diff
@@ Coverage Diff @@
## master #2586 +/- ##
===========================================
- Coverage 55.16% 55.07% -0.1%
+ Complexity 5295 5290 -5
===========================================
Files 573 573
Lines 25538 25529 -9
Branches 4531 4530 -1
===========================================
- Hits 14087 14059 -28
- Misses 9348 9364 +16
- Partials 2103 2106 +3
```
| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...rpc/cluster/loadbalance/RoundRobinLoadBalance.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tY2x1c3Rlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL2NsdXN0ZXIvbG9hZGJhbGFuY2UvUm91bmRSb2JpbkxvYWRCYWxhbmNlLmphdmE=) | `93.75% <100%> (+5.94%)` | `8 <0> (-1)` | :arrow_down: |
| [...he/dubbo/remoting/transport/netty/NettyClient.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNsaWVudC5qYXZh) | `72.88% <0%> (-8.48%)` | `12% <0%> (-1%)` | |
| [.../dubbo/remoting/transport/netty4/NettyChannel.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5Q2hhbm5lbC5qYXZh) | `57.64% <0%> (-4.71%)` | `22% <0%> (-1%)` | |
| [...ubbo/rpc/protocol/dubbo/ChannelWrappedInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NoYW5uZWxXcmFwcGVkSW52b2tlci5qYXZh) | `41.66% <0%> (-4.17%)` | `3% <0%> (ø)` | |
| [...rpc/protocol/dubbo/telnet/InvokeTelnetHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL3RlbG5ldC9JbnZva2VUZWxuZXRIYW5kbGVyLmphdmE=) | `54.21% <0%> (-3.62%)` | `13% <0%> (-2%)` | |
| [.../apache/dubbo/rpc/protocol/dubbo/DubboInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0R1YmJvSW52b2tlci5qYXZh) | `68.33% <0%> (-3.34%)` | `11% <0%> (ø)` | |
| [...e/dubbo/remoting/transport/netty4/NettyServer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5U2VydmVyLmphdmE=) | `72.13% <0%> (-3.28%)` | `9% <0%> (-1%)` | |
| [...bo/remoting/transport/netty/NettyCodecAdapter.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNvZGVjQWRhcHRlci5qYXZh) | `53.12% <0%> (-1.57%)` | `3% <0%> (ø)` | |
| [...dubbo/rpc/protocol/dubbo/CallbackServiceCodec.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NhbGxiYWNrU2VydmljZUNvZGVjLmphdmE=) | `77.2% <0%> (-1.48%)` | `29% <0%> (ø)` | |
| [.../src/main/java/org/apache/dubbo/rpc/RpcStatus.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JwYy9ScGNTdGF0dXMuamF2YQ==) | `57.89% <0%> (-1.06%)` | `18% <0%> (ø)` | |
| ... and [4 more](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree-more) | |
------
[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?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/2586?src=pr&el=footer). Last update [9b7284f...5d4289d](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?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/2586 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] kimmking commented on issue #2586:
Optimize RoundRobinLoadBalance
Posted by "kimmking (GitHub)" <gi...@apache.org>.
> This pull request looks good to me. Nice work!
> The time complexity is O(n), where n is the number of invokers, which is a significant improvement to the previous one, which is O(n*w), where n is the number of invokers, and w is the max weight of the invokers.
> I'd prefer to have more unit tests for this algorithm.
great, I also writed some UT for it. we can PR our UTs after merging it.
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2586 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] kimmking closed pull request #2586:
Optimize RoundRobinLoadBalance
Posted by "kimmking (GitHub)" <gi...@apache.org>.
[ pull request closed by kimmking ]
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2586 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] kimmking commented on issue #2586:
Optimize RoundRobinLoadBalance
Posted by "kimmking (GitHub)" <gi...@apache.org>.
@carryxyh it's okay and works well.
I send a mail to describe it clear and shortly.
I will be merge it soon and then add some test cases for the new algorithm with performance case.
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2586 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] detailyang commented on pull request
#2586: Optimize RoundRobinLoadBalance
Posted by "detailyang (GitHub)" <gi...@apache.org>.
space need:)
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2586 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] codecov-io commented on issue #2586:
Optimize RoundRobinLoadBalance
Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?src=pr&el=h1) Report
> Merging [#2586](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/9b7284f4d5c7f48e5d164670eb512d16987e5e25?src=pr&el=desc) will **decrease** coverage by `0.08%`.
> The diff coverage is `100%`.
[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?src=pr&el=tree)
```diff
@@ Coverage Diff @@
## master #2586 +/- ##
============================================
- Coverage 55.2% 55.11% -0.09%
+ Complexity 5298 5291 -7
============================================
Files 573 573
Lines 25538 25529 -9
Branches 4531 4530 -1
============================================
- Hits 14097 14070 -27
- Misses 9341 9355 +14
- Partials 2100 2104 +4
```
| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...rpc/cluster/loadbalance/RoundRobinLoadBalance.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tY2x1c3Rlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL2NsdXN0ZXIvbG9hZGJhbGFuY2UvUm91bmRSb2JpbkxvYWRCYWxhbmNlLmphdmE=) | `93.75% <100%> (+5.94%)` | `8 <0> (-1)` | :arrow_down: |
| [...he/dubbo/remoting/transport/netty/NettyClient.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNsaWVudC5qYXZh) | `72.88% <0%> (-10.17%)` | `12% <0%> (-1%)` | |
| [...ubbo/rpc/protocol/dubbo/ChannelWrappedInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NoYW5uZWxXcmFwcGVkSW52b2tlci5qYXZh) | `41.66% <0%> (-8.34%)` | `3% <0%> (ø)` | |
| [...apache/dubbo/rpc/protocol/dubbo/FutureAdapter.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0Z1dHVyZUFkYXB0ZXIuamF2YQ==) | `58.06% <0%> (-6.46%)` | `3% <0%> (ø)` | |
| [...org/apache/dubbo/rpc/filter/ActiveLimitFilter.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JwYy9maWx0ZXIvQWN0aXZlTGltaXRGaWx0ZXIuamF2YQ==) | `83.33% <0%> (-5.56%)` | `6% <0%> (-1%)` | |
| [.../apache/dubbo/rpc/protocol/dubbo/DubboInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0R1YmJvSW52b2tlci5qYXZh) | `68.33% <0%> (-3.34%)` | `11% <0%> (ø)` | |
| [...he/dubbo/registry/multicast/MulticastRegistry.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcmVnaXN0cnkvZHViYm8tcmVnaXN0cnktbXVsdGljYXN0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZWdpc3RyeS9tdWx0aWNhc3QvTXVsdGljYXN0UmVnaXN0cnkuamF2YQ==) | `55.6% <0%> (-1.73%)` | `35% <0%> (-3%)` | |
| [...bo/remoting/transport/netty/NettyCodecAdapter.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNvZGVjQWRhcHRlci5qYXZh) | `53.12% <0%> (-1.57%)` | `3% <0%> (ø)` | |
| [...dubbo/rpc/protocol/dubbo/CallbackServiceCodec.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NhbGxiYWNrU2VydmljZUNvZGVjLmphdmE=) | `77.2% <0%> (-1.48%)` | `29% <0%> (ø)` | |
| [...a/org/apache/dubbo/monitor/dubbo/DubboMonitor.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree#diff-ZHViYm8tbW9uaXRvci9kdWJiby1tb25pdG9yLWRlZmF1bHQvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL21vbml0b3IvZHViYm8vRHViYm9Nb25pdG9yLmphdmE=) | `89.71% <0%> (-0.94%)` | `15% <0%> (-1%)` | |
| ... and [2 more](https://codecov.io/gh/apache/incubator-dubbo/pull/2586/diff?src=pr&el=tree-more) | |
------
[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?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/2586?src=pr&el=footer). Last update [9b7284f...58290c4](https://codecov.io/gh/apache/incubator-dubbo/pull/2586?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/2586 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org