dubbo icon indicating copy to clipboard operation
dubbo copied to clipboard

[Bug] Metrics Initialization Causing Flaky Tests in `dubbo-config/dubbo-config-api`

Open Anshul-creator opened this issue 1 month ago • 0 comments

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 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:

./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

Anshul-creator avatar Nov 24 '25 16:11 Anshul-creator