zhuzhurk commented on a change in pull request #12278:
URL: https://github.com/apache/flink/pull/12278#discussion_r441347521



##########
File path: 
flink-runtime/src/test/java/org/apache/flink/runtime/jobmaster/slotpool/DualKeyLinkedMapTest.java
##########
@@ -85,4 +85,28 @@ public void 
ensuresOneToOneMappingBetweenKeysSameSecondaryKey() {
                assertThat(map.getByKeyB(1), is(secondValue));
                assertThat(map.getByKeyA(2), is(secondValue));
        }
+
+       @Test
+       public void 
testPrimaryKeyOrderIsNotAffectedIfReInsertedWithSameSecondaryKey() {
+               final DualKeyLinkedMap<Integer, Integer, String> map = new 
DualKeyLinkedMap<>(2);
+
+               final String value = "foobar";
+               map.put(1, 1, value);
+               map.put(2, 2, value);
+
+               map.put(1, 1, value);
+               assertThat(map.keySetA().iterator().next(), is(1));

Review comment:
       True. Added verifications for values.

##########
File path: 
flink-runtime/src/main/java/org/apache/flink/runtime/jobmaster/slotpool/DualKeyLinkedMap.java
##########
@@ -74,6 +74,20 @@ public V getKeyB(B bKey) {
                }
        }
 
+       public A getKeyA(B bKey) {
+               return bMap.get(bKey);
+       }
+
+       public B getKeyB(A aKey) {

Review comment:
       done.

##########
File path: 
flink-runtime/src/main/java/org/apache/flink/runtime/jobmaster/slotpool/DualKeyLinkedMap.java
##########
@@ -74,6 +74,20 @@ public V getKeyB(B bKey) {
                }
        }
 
+       public A getKeyA(B bKey) {

Review comment:
       done.

##########
File path: 
flink-runtime/src/main/java/org/apache/flink/runtime/jobmaster/slotpool/DualKeyLinkedMap.java
##########
@@ -64,7 +64,7 @@ public V getKeyA(A aKey) {
                }
        }
 
-       public V getKeyB(B bKey) {
+       public V getByKeyB(B bKey) {

Review comment:
       done.

##########
File path: 
flink-runtime/src/main/java/org/apache/flink/runtime/jobmaster/slotpool/DualKeyLinkedMap.java
##########
@@ -54,7 +54,7 @@ public int size() {
                return aMap.size();
        }
 
-       public V getKeyA(A aKey) {
+       public V getByKeyA(A aKey) {

Review comment:
       done.

##########
File path: 
flink-runtime/src/main/java/org/apache/flink/runtime/jobmaster/slotpool/DualKeyLinkedMap.java
##########
@@ -22,12 +22,16 @@
 
 import java.util.AbstractCollection;
 import java.util.Collection;
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.Set;
 
 /**
- * Map which stores values under two different indices.
+ * Map which stores values under two different indices. The mapping of the 
primary key to the
+ * value is backed by {@link LinkedHashMap} so that the iteration order over 
the values and
+ * the primary key set is the insertion order. Note that there is no contract 
of the iteration
+ * order over the secondary key set.

Review comment:
       done.




----------------------------------------------------------------
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.

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


Reply via email to