-
Notifications
You must be signed in to change notification settings - Fork 26.6k
Open
Labels
component/need-triageNeed maintainers to triageNeed maintainers to triagetype/need-triageNeed maintainers to triageNeed maintainers to triage
Description
Pre-check
- I am sure that all the content I provide is in English.
Search before asking
- I had searched in the issues and found no similar issues.
Apache Dubbo Component
Java SDK (apache/dubbo)
Dubbo Version
Dubbo 3.3.7
JDK 17/21
Steps to reproduce this issue
Several tests across dubbo-config/dubbo-config-spring exhibit flaky behavior when execution order or JVM internal iteration order changes. These flakes were consistently reproduced using:
./mvnw -q -pl dubbo-config/dubbo-config-spring\
edu.illinois:nondex-maven-plugin:2.2.1:nondex \
-DnondexRuns=50The reasons for the flakiness are below:
Micrometer metrics subsystem initialization
CompositeMeterRegistryuses mutable global structuresIdentityHashMapiteration order varies- Metrics are initialized implicitly during
DubboBootstrap.start()
DubboBootstrap global state not reset across tests
- ApplicationModel / FrameworkModel carry over state
- Reference cache survives between tests
- System properties affect bootstrap behavior if not cleared
What you expected to happen
All tests should pass deterministically and be independent of JVM iteration order or test execution order.
Anything else
I have opened several PR's for solving the issue. The PR structure follows the PR's I had opened for #15795 which have all been accepted. The PR's opened for this issue are as follows:
- Fix: Stabilize
dubbo-config-springtests by Disabling Metrics Initialization and Ensuring Test Isolation #15819 - Fix: Stabilize
dubbo-config-springreference-related tests by Disabling Metrics Initialization and Ensuring Test Isolation #15828 - Fix: Stabilize
dubbo-config-springissues-related tests by Disabling Metrics Initialization and Ensuring Test Isolation #15833 - Fix: Stabilize
dubbo-config-springbeans-related tests by Disabling Metrics Initialization and Ensuring Test Isolation #15834 - Fix: Stabilize
dubbo-config-springcontext-related tests by Disabling Metrics Initialization and Ensuring Test Isolation #15835 - Fix: Stabilize more
dubbo-config-springreference-related tests by Disabling Metrics Initialization and Ensuring Test Isolation #15840 - Fix: Stabilize
dubbo-config-springpropertyconfigurer-related tests by Disabling Metrics Initialization and Ensuring Test Isolation #15841 - Fix: Stabilize
dubbo-config-springremaining reference and schema-related tests by Disabling Metrics Initialization and Ensuring Test Isolation #15844 - Fix: Stabilize
dubbo-config-springboot-related tests by Disabling Metrics Initialization and Ensuring Test Isolation #15845 - Fix: Stabilize remaining outlier
dubbo-config-springtests by Disabling Metrics Initialization and Ensuring Test Isolation #15846
Are you willing to submit a pull request to fix on your own?
- Yes I am willing to submit a pull request on my own!
Code of Conduct
- I agree to follow this project's Code of Conduct
Metadata
Metadata
Assignees
Labels
component/need-triageNeed maintainers to triageNeed maintainers to triagetype/need-triageNeed maintainers to triageNeed maintainers to triage
Type
Projects
Status
Todo