-
Notifications
You must be signed in to change notification settings - Fork 26.5k
Labels
help wantedEverything needs help from contributorsEverything needs help from contributors
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 Java 3.3.7-SNAPSHOT, OpenJDK 23.0.2, macOS 15.7.3
Steps to reproduce this issue
Run tests in the dubbo-rpc/dubbo-rpc-dubbo using NonDex: mvn edu.illinois:nondex-maven-plugin:2.2.1:nondex -pl dubbo-rpc/dubbo-rpc-dubbo -Dtest=org.apache.dubbo.rpc.protocol.dubbo.status.ThreadPoolStatusCheckerTest#test -DnondexRuns=10
About 50% of the time, the test will fail.
21:46:13.213 |-INFO [main] mmon.utils.SerializeSecurityConfigurator:166 -| [DUBBO] Read serialize blocked list from jar:file:/Users/gabriel/.m2/repository/org/apache/dubbo/dubbo-common/3.3.7-SNAPSHOT/dubbo-common-3.3.7-SNAPSHOT.jar!/security/serialize.blockedlist, dubbo version: 3.3.7-SNAPSHOT, current host: 10.214.1.225
[ERROR] Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.577 s <<< FAILURE! -- in org.apache.dubbo.rpc.protocol.dubbo.status.ThreadPoolStatusCheckerTest
[ERROR] org.apache.dubbo.rpc.protocol.dubbo.status.ThreadPoolStatusCheckerTest.test -- Time elapsed: 0.565 s <<< FAILURE!
org.opentest4j.AssertionFailedError: expected: <Pool status:OK, max:10, core:10, largest:0, active:0, task:0, service port: 8889;Pool status:WARN, max:1, core:1, largest:0, active:0, task:0, service port: 8888> but was: <Pool status:WARN, max:1, core:1, largest:0, active:0, task:0, service port: 8888;Pool status:OK, max:10, core:10, largest:0, active:0, task:0, service port: 8889>
at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
at org.junit.jupiter.api.AssertEquals.failNotEqual(AssertEquals.java:197)
at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:182)
at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:177)
at org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:1145)
at org.apache.dubbo.rpc.protocol.dubbo.status.ThreadPoolStatusCheckerTest.test(ThreadPoolStatusCheckerTest.java:48)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)
[INFO]
[INFO] Results:
[INFO]
[ERROR] Failures:
[ERROR] ThreadPoolStatusCheckerTest.test:48 expected: <Pool status:OK, max:10, core:10, largest:0, active:0, task:0, service port: 8889;Pool status:WARN, max:1, core:1, largest:0, active:0, task:0, service port: 8888> but was: <Pool status:WARN, max:1, core:1, largest:0, active:0, task:0, service port: 8888;Pool status:OK, max:10, core:10, largest:0, active:0, task:0, service port: 8889>
[INFO]
[ERROR] Tests run: 1, Failures: 1, Errors: 0, Skipped: 0
What you expected to happen
The test should have passed. NonDex shuffles internal collection order in a way that is acceptable by Java specifications. This test relies on Map<String, Object> being in insertion order during iteration, which happens to succeed most of the time due to the limited nature of the test.
Anything else
I am about to open a pull request.
Do you have a (mini) reproduction demo?
- Yes, I have a minimal reproduction demo to help resolve this issue more effectively!
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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
help wantedEverything needs help from contributorsEverything needs help from contributors
Type
Projects
Status
Todo