[ 
https://issues.apache.org/jira/browse/FLINK-25094?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17464914#comment-17464914
 ] 

Yun Tang commented on FLINK-25094:
----------------------------------

Merged in master: d08a1d0f4035485283f10611113d4d0fc0a8aaca

> The verify code in LatencyTrackingMapStateTest#verifyIterator is not actually 
> executed
> --------------------------------------------------------------------------------------
>
>                 Key: FLINK-25094
>                 URL: https://issues.apache.org/jira/browse/FLINK-25094
>             Project: Flink
>          Issue Type: Bug
>          Components: Runtime / State Backends, Tests
>            Reporter: Jinzhong Li
>            Assignee: Jinzhong Li
>            Priority: Minor
>              Labels: pull-request-available
>             Fix For: 1.15.0
>
>
> In LatencyTrackingMapStateTest, 
> iterator()/entries().iterator()/keys().iterator()/values().iterator() will be 
> invoke before verifyIterator method is invoked, this is, 
> iterator()/... will be invode before putting the test data into 
> latencyTrackingMapState. So the verify code is not actually executed since 
> "iterator.hasNext()" is always false.
> {code:java}
> private <E> void verifyIterator(
>         LatencyTrackingMapState<Integer, VoidNamespace, Long, Double> 
> latencyTrackingState,
>         LatencyTrackingMapState.MapStateLatencyMetrics 
> latencyTrackingStateMetric,
>         Iterator<E> iterator,
>         boolean removeIterator)
>         throws Exception {
>     ThreadLocalRandom random = ThreadLocalRandom.current();
>     for (int index = 1; index <= SAMPLE_INTERVAL; index++) {
>         latencyTrackingState.put((long) index, random.nextDouble());
>     }
>     int count = 1;
>     while (iterator.hasNext()) {
>         int expectedResult = count == SAMPLE_INTERVAL ? 0 : count;
>         assertEquals(expectedResult, 
> latencyTrackingStateMetric.getIteratorHasNextCount());
>         iterator.next();
>         assertEquals(expectedResult, 
> latencyTrackingStateMetric.getIteratorNextCount());
>         if (removeIterator) {
>             iterator.remove();
>             assertEquals(expectedResult, 
> latencyTrackingStateMetric.getIteratorRemoveCount());
>         }
>         count += 1;
>     }
>     // as we call #hasNext on more time than #next, to avoid complex check, 
> just reset hasNext
>     // counter in the end.
>     latencyTrackingStateMetric.resetIteratorHasNextCount();
>     latencyTrackingState.clear();
> } {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to