anthonyx24 opened a new pull request, #4969:
URL: https://github.com/apache/servicecomb-java-chassis/pull/4969

   **Issue:** This is the same issue as #4946 for a different class, since 
there is also a JSON string comparison here. In summary, since JSONs are 
unordered, after converting them to strings, the parameter ordering is not 
guaranteed. For another example of this issue being addressed, see this 
[previous merged 
PR](https://github.com/apache/servicecomb-java-chassis/pull/4633).
   
   This test was flagged via the 
[NonDex](https://github.com/TestingResearchIllinois/NonDex) tool, which detects 
potentially unreliable tests due to underlying Java API assumptions. To see the 
Nondex output for this test, you can run:
   
   ```
   mvn -pl metrics/metrics-core edu.illinois:nondex-maven-plugin:2.1.7:nondex 
-Dtest="org.apache.servicecomb.metrics.core.publish.TestThreadPoolPublishModelFactory#createDefaultPublishModel"
   ```
   
   **Fix:** The fix here is also similar to the one I detailed in this PR for 
the other issue: #4947. I use 
[JSONAssert's](https://jsonassert.skyscreamer.org/apidocs/org/skyscreamer/jsonassert/JSONAssert.html)
 `assertEquals()` method, using non-strict checking (which ignores parameter 
ordering). This compares the JSON strings without enforcing parameter ordering, 
which removes the potentially unreliable nature of these tests. **This library 
is already included within the spring-boot dependency, which is already used in 
the project, so there's no need to update the pom file.** Rerunning Nondex 
shows a passing result.
   
   **PR Checklist:**
    - [ ] Github Issue: #4968 
    - [ ] Each commit in the pull request should have a meaningful subject line 
and body.
    - [ ] Format the pull request title like `[SCB-XXX] Fixes bug in 
ApproximateQuantiles`, where you replace `SCB-XXX` with the appropriate JIRA 
issue.
    - [ ] Write a pull request description that is detailed enough to 
understand what the pull request does, how, and why.
    - [ ] Run `mvn clean install -Pit` to make sure basic checks pass. A more 
thorough check will be performed on your pull request automatically.
   
   ---
   


-- 
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: commits-unsubscr...@servicecomb.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to