You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by "kezhenxu94 (GitHub)" <gi...@apache.org> on 2019/03/27 06:57:42 UTC

[GitHub] [incubator-dubbo] kezhenxu94 opened pull request #3748: [DUBBO-3746] Bugfix: dead loop in AbstractRegistry when IOException. fix #3746

## What is the purpose of the change

resolve #3746 

When `IOException` is thrown in `org.apache.dubbo.registry.support.AbstractRegistry#doSaveProperties`, which is usually unrecoverable (permission denied, path not exists or no free disk space) it will retry infinitely, this patch tries to resolve this issue by stop retrying when `IOException` occurs.

## Brief changelog

org.apache.dubbo.registry.support.AbstractRegistry

## Verifying this change

XXXXX

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) field 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.
- [x] 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=false` & `mvn clean test-compile failsafe:integration-test` to make sure unit-test and integration-test pass.
- [x] 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/3748 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] carryxyh commented on pull request #3748: [DUBBO-3746] Bugfix: infinite loop in AbstractRegistry when IOException. fix #3746

Posted by "carryxyh (GitHub)" <gi...@apache.org>.
Hi,huxing
Thank you for your reply.

As far as I know, if multiple processes try to write data to the same file, `acquire FD` will be called at the bottom, and this operation is usually a lock operation, so I personally think that if this happens, actually will cause queuing instead of writing failure.

But I am not very sure about this point of view. We may need a local test to ensure the rigor of the logic? 
How do u think about it?
:)

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


[GitHub] [incubator-dubbo] kezhenxu94 commented on pull request #3748: [DUBBO-3746] Bugfix: infinite loop in AbstractRegistry when IOException. fix #3746

Posted by "kezhenxu94 (GitHub)" <gi...@apache.org>.
Hi @carryxyh , do you have any conclusion? If not, I think I can have a try with it. :)

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


[GitHub] [incubator-dubbo] ralf0131 commented on issue #3748: [DUBBO-3746] Bugfix: infinite loop in AbstractRegistry when IOException. fix #3746

Posted by "ralf0131 (GitHub)" <gi...@apache.org>.
> > What if other type of exception other than IOException is thrown, this might introduce the same issue. I think a safer way is to limit the number of time to retry.
> 
> @ralf0131 how many times to retry? I think 3 is enough, what's your opinion?

3 looks good to me.

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


[GitHub] [incubator-dubbo] ralf0131 commented on pull request #3748: [DUBBO-3746] Bugfix: infinite loop in AbstractRegistry when IOException. fix #3746

Posted by "ralf0131 (GitHub)" <gi...@apache.org>.
Why not catch IOException directly?

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


[GitHub] [incubator-dubbo] codecov-io commented on issue #3748: [DUBBO-3746] Bugfix: infinite loop in AbstractRegistry when IOException. fix #3746

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

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

```diff
@@             Coverage Diff              @@
##             master    #3748      +/-   ##
============================================
+ Coverage     63.55%   63.61%   +0.05%     
  Complexity       71       71              
============================================
  Files           704      704              
  Lines         31069    31070       +1     
  Branches       5037     5038       +1     
============================================
+ Hits          19746    19765      +19     
+ Misses         9050     9034      -16     
+ Partials       2273     2271       -2
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/3748?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...pache/dubbo/registry/support/AbstractRegistry.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tcmVnaXN0cnkvZHViYm8tcmVnaXN0cnktYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZWdpc3RyeS9zdXBwb3J0L0Fic3RyYWN0UmVnaXN0cnkuamF2YQ==) | `80.84% <87.5%> (+0.13%)` | `0 <0> (ø)` | :arrow_down: |
| [...e/dubbo/remoting/transport/netty/NettyChannel.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNoYW5uZWwuamF2YQ==) | `57.64% <0%> (-4.71%)` | `0% <0%> (ø)` | |
| [...he/dubbo/qos/server/handler/QosProcessHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tcGx1Z2luL2R1YmJvLXFvcy9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcW9zL3NlcnZlci9oYW5kbGVyL1Fvc1Byb2Nlc3NIYW5kbGVyLmphdmE=) | `55.88% <0%> (-1.27%)` | `0% <0%> (ø)` | |
| [.../exchange/support/header/HeaderExchangeServer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9leGNoYW5nZS9zdXBwb3J0L2hlYWRlci9IZWFkZXJFeGNoYW5nZVNlcnZlci5qYXZh) | `66.98% <0%> (-0.95%)` | `0% <0%> (ø)` | |
| [...ting/exchange/support/header/HeartbeatHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9leGNoYW5nZS9zdXBwb3J0L2hlYWRlci9IZWFydGJlYXRIYW5kbGVyLmphdmE=) | `83.72% <0%> (-0.73%)` | `0% <0%> (ø)` | |
| [...exchange/support/header/HeaderExchangeHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9leGNoYW5nZS9zdXBwb3J0L2hlYWRlci9IZWFkZXJFeGNoYW5nZUhhbmRsZXIuamF2YQ==) | `62.2% <0%> (-0.59%)` | `0% <0%> (ø)` | |
| [...rpc/cluster/loadbalance/RoundRobinLoadBalance.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tY2x1c3Rlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL2NsdXN0ZXIvbG9hZGJhbGFuY2UvUm91bmRSb2JpbkxvYWRCYWxhbmNlLmphdmE=) | `79.68% <0%> (-0.32%)` | `0% <0%> (ø)` | |
| [...cluster/loadbalance/ConsistentHashLoadBalance.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tY2x1c3Rlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL2NsdXN0ZXIvbG9hZGJhbGFuY2UvQ29uc2lzdGVudEhhc2hMb2FkQmFsYW5jZS5qYXZh) | `87.75% <0%> (ø)` | `0% <0%> (ø)` | :arrow_down: |
| [...c/main/java/org/apache/dubbo/common/Constants.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vQ29uc3RhbnRzLmphdmE=) | `93.33% <0%> (ø)` | `0% <0%> (ø)` | :arrow_down: |
| [...dubbo/rpc/protocol/dubbo/CallbackServiceCodec.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NhbGxiYWNrU2VydmljZUNvZGVjLmphdmE=) | `80.88% <0%> (+0.73%)` | `0% <0%> (ø)` | :arrow_down: |
| ... and [5 more](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3748?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/3748?src=pr&el=footer). Last update [c11df93...b4310a9](https://codecov.io/gh/apache/incubator-dubbo/pull/3748?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/3748 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] ralf0131 commented on issue #3748: [DUBBO-3746] Bugfix: infinite loop in AbstractRegistry when IOException. fix #3746

Posted by "ralf0131 (GitHub)" <gi...@apache.org>.
What if other type of exception other than IOException is thrown, this might introduce the same issue. I think a safer way is to limit the number of time to retry.

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


[GitHub] [incubator-dubbo] carryxyh commented on pull request #3748: [DUBBO-3746] Bugfix: infinite loop in AbstractRegistry when IOException. fix #3746

Posted by "carryxyh (GitHub)" <gi...@apache.org>.
@ralf0131 
Would u pls also check this point? Thx
:)

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


[GitHub] [incubator-dubbo] carryxyh commented on pull request #3748: [DUBBO-3746] Bugfix: infinite loop in AbstractRegistry when IOException. fix #3746

Posted by "carryxyh (GitHub)" <gi...@apache.org>.
I have some doubts about the retry scenario. In what scenario do we need to try again when the save file fails? Or what scenario has the first save failure, the second time may be successful?

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


[GitHub] [incubator-dubbo] ralf0131 commented on pull request #3748: [DUBBO-3746] Bugfix: infinite loop in AbstractRegistry when IOException. fix #3746

Posted by "ralf0131 (GitHub)" <gi...@apache.org>.
Er.. I'd say I am not quite sure why it is designed like this. One scenario I can think is that multiple process try to write to the same file, if other process is holding the file lock and this process might failed.  Does that sound reasonable? 

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


[GitHub] [incubator-dubbo] codecov-io commented on issue #3748: [DUBBO-3746] Bugfix: infinite loop in AbstractRegistry when IOException. fix #3746

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

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

```diff
@@             Coverage Diff              @@
##             master    #3748      +/-   ##
============================================
+ Coverage     63.55%   63.58%   +0.03%     
  Complexity       71       71              
============================================
  Files           704      704              
  Lines         31069    31070       +1     
  Branches       5037     5038       +1     
============================================
+ Hits          19746    19756      +10     
+ Misses         9050     9041       -9     
  Partials       2273     2273
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/3748?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...pache/dubbo/registry/support/AbstractRegistry.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tcmVnaXN0cnkvZHViYm8tcmVnaXN0cnktYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZWdpc3RyeS9zdXBwb3J0L0Fic3RyYWN0UmVnaXN0cnkuamF2YQ==) | `79.31% <37.5%> (-1.4%)` | `0 <0> (ø)` | |
| [...e/dubbo/remoting/transport/netty/NettyChannel.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNoYW5uZWwuamF2YQ==) | `57.64% <0%> (-4.71%)` | `0% <0%> (ø)` | |
| [...he/dubbo/qos/server/handler/QosProcessHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tcGx1Z2luL2R1YmJvLXFvcy9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcW9zL3NlcnZlci9oYW5kbGVyL1Fvc1Byb2Nlc3NIYW5kbGVyLmphdmE=) | `55.88% <0%> (-1.27%)` | `0% <0%> (ø)` | |
| [.../exchange/support/header/HeaderExchangeServer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9leGNoYW5nZS9zdXBwb3J0L2hlYWRlci9IZWFkZXJFeGNoYW5nZVNlcnZlci5qYXZh) | `66.98% <0%> (-0.95%)` | `0% <0%> (ø)` | |
| [...ting/exchange/support/header/HeartbeatHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9leGNoYW5nZS9zdXBwb3J0L2hlYWRlci9IZWFydGJlYXRIYW5kbGVyLmphdmE=) | `83.72% <0%> (-0.73%)` | `0% <0%> (ø)` | |
| [...exchange/support/header/HeaderExchangeHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9leGNoYW5nZS9zdXBwb3J0L2hlYWRlci9IZWFkZXJFeGNoYW5nZUhhbmRsZXIuamF2YQ==) | `62.2% <0%> (-0.59%)` | `0% <0%> (ø)` | |
| [...rpc/cluster/loadbalance/RoundRobinLoadBalance.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tY2x1c3Rlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL2NsdXN0ZXIvbG9hZGJhbGFuY2UvUm91bmRSb2JpbkxvYWRCYWxhbmNlLmphdmE=) | `79.68% <0%> (-0.32%)` | `0% <0%> (ø)` | |
| [...cluster/loadbalance/ConsistentHashLoadBalance.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tY2x1c3Rlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL2NsdXN0ZXIvbG9hZGJhbGFuY2UvQ29uc2lzdGVudEhhc2hMb2FkQmFsYW5jZS5qYXZh) | `87.75% <0%> (ø)` | `0% <0%> (ø)` | :arrow_down: |
| [...c/main/java/org/apache/dubbo/common/Constants.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vQ29uc3RhbnRzLmphdmE=) | `93.33% <0%> (ø)` | `0% <0%> (ø)` | :arrow_down: |
| [...dubbo/rpc/protocol/dubbo/CallbackServiceCodec.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NhbGxiYWNrU2VydmljZUNvZGVjLmphdmE=) | `80.88% <0%> (+0.73%)` | `0% <0%> (ø)` | :arrow_down: |
| ... and [4 more](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3748?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/3748?src=pr&el=footer). Last update [c11df93...b4310a9](https://codecov.io/gh/apache/incubator-dubbo/pull/3748?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/3748 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] ralf0131 commented on pull request #3748: [DUBBO-3746] Bugfix: infinite loop in AbstractRegistry when IOException. fix #3746

Posted by "ralf0131 (GitHub)" <gi...@apache.org>.
Yes, you can try it.

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


[GitHub] [incubator-dubbo] kezhenxu94 commented on issue #3748: [DUBBO-3746] Bugfix: infinite loop in AbstractRegistry when IOException. fix #3746

Posted by "kezhenxu94 (GitHub)" <gi...@apache.org>.
> What if other type of exception other than IOException is thrown, this might introduce the same issue. I think a safer way is to limit the number of time to retry.

@ralf0131 how many times to retry? I think 3 is enough, what's your opinion?

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


[GitHub] [incubator-dubbo] codecov-io commented on issue #3748: [DUBBO-3746] Bugfix: dead loop in AbstractRegistry when IOException. fix #3746

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

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

```diff
@@             Coverage Diff              @@
##             master    #3748      +/-   ##
============================================
+ Coverage     63.55%   63.59%   +0.03%     
  Complexity       71       71              
============================================
  Files           704      704              
  Lines         31069    31072       +3     
  Branches       5037     5038       +1     
============================================
+ Hits          19746    19760      +14     
+ Misses         9050     9037      -13     
- Partials       2273     2275       +2
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/3748?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...pache/dubbo/registry/support/AbstractRegistry.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tcmVnaXN0cnkvZHViYm8tcmVnaXN0cnktYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZWdpc3RyeS9zdXBwb3J0L0Fic3RyYWN0UmVnaXN0cnkuamF2YQ==) | `79.76% <0%> (-0.95%)` | `0 <0> (ø)` | |
| [...bo/rpc/cluster/support/FailbackClusterInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tY2x1c3Rlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL2NsdXN0ZXIvc3VwcG9ydC9GYWlsYmFja0NsdXN0ZXJJbnZva2VyLmphdmE=) | `67.21% <0%> (-3.28%)` | `0% <0%> (ø)` | |
| [.../exchange/support/header/HeaderExchangeServer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9leGNoYW5nZS9zdXBwb3J0L2hlYWRlci9IZWFkZXJFeGNoYW5nZVNlcnZlci5qYXZh) | `68.86% <0%> (+0.94%)` | `0% <0%> (ø)` | :arrow_down: |
| [...he/dubbo/registry/multicast/MulticastRegistry.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tcmVnaXN0cnkvZHViYm8tcmVnaXN0cnktbXVsdGljYXN0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZWdpc3RyeS9tdWx0aWNhc3QvTXVsdGljYXN0UmVnaXN0cnkuamF2YQ==) | `69.68% <0%> (+1.8%)` | `0% <0%> (ø)` | :arrow_down: |
| [...dubbo/remoting/exchange/support/DefaultFuture.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9leGNoYW5nZS9zdXBwb3J0L0RlZmF1bHRGdXR1cmUuamF2YQ==) | `75.51% <0%> (+2.04%)` | `0% <0%> (ø)` | :arrow_down: |
| [...che/dubbo/remoting/transport/mina/MinaChannel.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3748/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbWluYS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcmVtb3RpbmcvdHJhbnNwb3J0L21pbmEvTWluYUNoYW5uZWwuamF2YQ==) | `53.94% <0%> (+10.52%)` | `0% <0%> (ø)` | :arrow_down: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3748?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/3748?src=pr&el=footer). Last update [c11df93...afe19c0](https://codecov.io/gh/apache/incubator-dubbo/pull/3748?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/3748 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org