You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by "Anshul-creator (via GitHub)" <gi...@apache.org> on 2025/11/24 16:56:54 UTC
[I] [Bug] Metrics Initialization Causing Flaky Tests in `dubbo-config/dubbo-config-spring` [dubbo]
Anshul-creator opened a new issue, #15795:
URL: https://github.com/apache/dubbo/issues/15795
### Pre-check
- [x] I am sure that all the content I provide is in English.
### Search before asking
- [x] I had searched in the [issues](https://github.com/apache/dubbo/issues?q=is%3Aissue) 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-api` exhibit flaky behavior when execution order or JVM internal iteration order changes. These flakes were consistently reproduced using:
```bash
./mvnw -q -pl dubbo-config/dubbo-config-api \
edu.illinois:nondex-maven-plugin:2.2.1:nondex \
-DnondexRuns=20
```
### What you expected to happen
The reason for the flakiness are below:
**Micrometer metrics subsystem initialization**
- `CompositeMeterRegistry` uses mutable global structures
- `IdentityHashMap` iteration 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
### Anything else
I have opened several PR's for solving the issue. I opened one PR per test file. The PRs below have been accepted:
- https://github.com/apache/dubbo/pull/15778
- https://github.com/apache/dubbo/pull/15782
- https://github.com/apache/dubbo/pull/15785
The rest of the PR's mentioned below are open for review and follow the same method to solving the flakiness used in the PRs that were accepted above:
- https://github.com/apache/dubbo/pull/15787
- https://github.com/apache/dubbo/pull/15789
- https://github.com/apache/dubbo/pull/15790
- https://github.com/apache/dubbo/pull/15791
- https://github.com/apache/dubbo/pull/15792
- https://github.com/apache/dubbo/pull/15793
- https://github.com/apache/dubbo/pull/15794
### Are you willing to submit a pull request to fix on your own?
- [x] Yes I am willing to submit a pull request on my own!
### Code of Conduct
- [x] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org