dubbo
dubbo copied to clipboard
[3.3] Upgrade HashedWheelTimer with the same class of latest Netty 4.2
What is the purpose of the change?
- Upgrade
HashedWheelTimercontent based on latest Netty'sHashedWheelTimer(Oct 17, 2025): https://github.com/netty/netty/blob/d7b39b4f48aff9f7efd2fe0aa8841e2aa13e2874/common/src/main/java/io/netty/util/HashedWheelTimer.java (https://github.com/netty/netty/commit/d7b39b4f48aff9f7efd2fe0aa8841e2aa13e2874) - Add
jctools-coreto transitive dependencies ofdubbo-allanddubbo-all-shadedbecause latest Netty'sHashedWheelTimertook MpscQueue ofjctools-coreas its queue but all dubbo sub-modules dependency optional flag are set to true. - This pr includes https://github.com/apache/dubbo/pull/15755 since latest Netty's
HashedWheelTimercontains a lot of codes that callssun.misc.Unsafe.
Checklist
- [x] Make sure there is a GitHub_issue field for the change.
- [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. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
- [x] Make sure gitHub actions can pass. Why the workflow is failing and how to fix it?
Codecov Report
:x: Patch coverage is 33.09859% with 475 lines in your changes missing coverage. Please review.
:white_check_mark: Project coverage is 60.53%. Comparing base (f284fab) to head (05e4f12).
| Files with missing lines | Patch % | Lines |
|---|---|---|
| ...rg/apache/dubbo/common/timer/HashedWheelTimer.java | 33.00% | 407 Missing and 68 partials :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## 3.3 #15739 +/- ##
============================================
- Coverage 60.76% 60.53% -0.24%
+ Complexity 11712 11710 -2
============================================
Files 1938 1938
Lines 88646 89293 +647
Branches 13379 13511 +132
============================================
+ Hits 53866 54051 +185
- Misses 29257 29656 +399
- Partials 5523 5586 +63
| Flag | Coverage Δ | |
|---|---|---|
| integration-tests-java21 | 32.31% <25.07%> (-0.14%) |
:arrow_down: |
| integration-tests-java8 | 32.32% <23.09%> (-0.12%) |
:arrow_down: |
| samples-tests-java21 | 31.94% <25.07%> (-0.11%) |
:arrow_down: |
| samples-tests-java8 | 29.68% <23.09%> (+0.07%) |
:arrow_up: |
| unit-tests-java11 | 58.79% <27.32%> (-0.29%) |
:arrow_down: |
| unit-tests-java17 | 58.31% <27.60%> (-0.24%) |
:arrow_down: |
| unit-tests-java21 | 58.30% <27.60%> (-0.27%) |
:arrow_down: |
| unit-tests-java25 | 58.19% <19.43%> (-0.31%) |
:arrow_down: |
| unit-tests-java8 | 58.77% <25.74%> (-0.32%) |
:arrow_down: |
Flags with carried forward coverage won't be shown. Click here to find out more.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.