[ https://issues.apache.org/jira/browse/FLINK-25094?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated FLINK-25094: ----------------------------------- Labels: pull-request-available (was: ) > 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)