Github user StefanRRichter commented on a diff in the pull request:

    https://github.com/apache/flink/pull/4722#discussion_r141390556
  
    --- Diff: 
flink-runtime/src/test/java/org/apache/flink/runtime/state/StateBackendTestBase.java
 ---
    @@ -190,6 +193,39 @@ protected CheckpointStreamFactory 
createStreamFactory() throws Exception {
        }
     
        @Test
    +   public void testGetKeys() throws Exception {
    +           final int elementsToTest = 1000;
    +           String fieldName = "get-keys-while-modifying-test";
    +           AbstractKeyedStateBackend<Integer> backend = 
createKeyedBackend(IntSerializer.INSTANCE);
    +           try {
    +                   ValueState<Integer> keyedState = 
backend.getOrCreateKeyedState(
    +                           VoidNamespaceSerializer.INSTANCE,
    +                           new ValueStateDescriptor<>(fieldName, 
IntSerializer.INSTANCE));
    +                   ((InternalValueState<VoidNamespace, Integer>) 
keyedState).setCurrentNamespace(VoidNamespace.INSTANCE);
    +
    +                   for (int key = 0; key < elementsToTest; key++) {
    +                           backend.setCurrentKey(key);
    +                           keyedState.update(key * 2);
    +                   }
    +
    +                   try (Stream<Integer> keysStream = 
backend.getKeys(fieldName, VoidNamespace.INSTANCE).sorted()) {
    +                           PrimitiveIterator.OfInt actualIterator = 
keysStream.mapToInt(value -> value.intValue()).iterator();
    +
    +                           for (int expectedKey = 0; expectedKey < 
elementsToTest; expectedKey++) {
    +                                   assertTrue(actualIterator.hasNext());
    +                                   assertEquals(expectedKey, 
actualIterator.nextInt());
    +                           }
    +
    +                           assertFalse(actualIterator.hasNext());
    +                   }
    +           }
    +           finally {
    +                   org.apache.commons.io.IOUtils.closeQuietly(backend);
    --- End diff --
    
    nit: why do we need the fully qualified name her?


---

Reply via email to