ThugJudy opened a new pull request, #3603: URL: https://github.com/apache/storm/pull/3603
## What is the purpose of the change The following test cases https://github.com/apache/storm/blob/c0d7b475da99c28043b137e892d58aedde4eb840/storm-server/src/test/java/org/apache/storm/scheduler/resource/strategies/scheduling/TestRoundRobinNodeSorterHostIsolation.java#L155 https://github.com/apache/storm/blob/c0d7b475da99c28043b137e892d58aedde4eb840/storm-server/src/test/java/org/apache/storm/scheduler/resource/strategies/scheduling/TestDefaultResourceAwareStrategy.java#L309 fail due to the non-deterministic behavior of the line https://github.com/apache/storm/blob/c0d7b475da99c28043b137e892d58aedde4eb840/storm-server/src/main/java/org/apache/storm/scheduler/resource/RasNode.java#L106 as hashset does not guarantee the ordering of elements in the class object. I found and confirmed the flaky behavior using an open-source research tool [NonDex](https://github.com/TestingResearchIllinois/NonDex), which shuffles implementations of nondeterminism operations. ## How was the change tested The following command can be used to reproduce assertion failures and verify the fix: ``` mvn edu.illinois:nondex-maven-plugin:2.1.1:nondex -pl storm-server -Dtest='org.apache.storm.scheduler.resource.strategies.scheduling.TestDefaultResourceAwareStrategy#testDefaultResourceAwareStrategySharedMemory' mvn edu.illinois:nondex-maven-plugin:2.1.1:nondex -pl storm-server -Dtest='org.apache.storm.scheduler.resource.strategies.scheduling.TestRoundRobinNodeSorterHostIsolation#testTopologyIsolation' ``` -- 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: dev-unsubscr...@storm.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org