Ruby created FLINK-33509:
----------------------------

             Summary: flaky test testNodeAffinity() in 
InitTaskManagerDecoratorTest.java
                 Key: FLINK-33509
                 URL: https://issues.apache.org/jira/browse/FLINK-33509
             Project: Flink
          Issue Type: Bug
         Environment: Java 11
            Reporter: Ruby


When applying Nondex to the test, the NodeSelectorRequirement object shows 
nondeterminism. When testing, we assume that requirement would be equal to 
expected_requirement, both of them are the instance of NodeSelectorRequirement 
object. The NodeSelectorRequirement object has three attributes, including key, 
operator, and values ​​list.  It is possible to get values list's elements in 
order `[blockedNode1, blockedNode2]`, while the expected result is 
`[blockedNode2, blockedNode1]` which is incorrect. 

 

The root cause appeared in line 56 of `KubernetesTaskManagerTestBase.java`. 
(flink-kubernetes/src/test/java/org/apache/flink/kubernetes/kubeclient/KubernetesTaskManagerTestBase.java)
 Here we define `BLOCKED_NODES` as a new `hashSet`. In 
`InitTaskManagerDecoratorTest.java`, when initializing the 
`expected_requirement` in the test, the values ​​being passed was 
this`BLOCKED_NODES`, which is an **unordered Set**. Later, the code convert 
this **hashSet** into **arrayList**, which led to the unstable result of the 
values list.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to