[
https://issues.apache.org/jira/browse/FLINK-25094?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yun Tang reassigned FLINK-25094:
--------------------------------
Assignee: Jinzhong Li
> 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
>
> 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)