## What is the purpose of the change Optimize heartbeat mechanism fix #3151
## Brief changelog 0. adjust hashedWheelTimer's instance, make it only one instance for heartbeat tasks and reconnect tasks, and make it's per tick duration to 1 second. 1. initialize heartbeat task and reconnect task for each channel when it is connected. 2. initialize hashedWheelTimer on HeartbeatHandler instinstead of that when HeaderExchangeServer or HeaderExchangeClient initialize. 3. recalculate next tick duration for heartbeat task and reconnect task when it's task has done instead of using fixed duration. and also I have provided a version of this optimization with detail log when heartbeat task or reconnect task has triggered in https://github.com/kexianjun/incubator-dubbo/tree/optimize_heart_with_log to make it convenient to test this optimization. ## 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. - [ ] 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=false` & `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/3213 ] This message was relayed via gitbox.apache.org for [email protected]
--------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
