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

Reply via email to