yux created FLINK-37368: --------------------------- Summary: MySQL Pipeline job failed to checkpoint after closing idle readers Key: FLINK-37368 URL: https://issues.apache.org/jira/browse/FLINK-37368 Project: Flink Issue Type: Bug Components: Flink CDC Affects Versions: cdc-3.3.0 Reporter: yux
Currently, PreTransformOperator uses `getUnionListState` to store upstream schema maps. However, with MySQL `scan.incremental.close-idle-reader.enabled` option, most subTasks will be closed (goes into "finished" state) after snapshot stage finishes, which would block all later checkpoints: {code:java} /** * If a job vertex using {@code UnionListState} has part of tasks FINISHED where others are * still in RUNNING state, the checkpoint would be aborted since it might cause incomplete * {@code UnionListState}. */ private void checkNoPartlyFinishedVertexUsedUnionListState( Map<JobVertexID, ExecutionJobVertex> partlyFinishedVertex, Map<OperatorID, OperatorState> operatorStates) { for (ExecutionJobVertex vertex : partlyFinishedVertex.values()) { if (hasUsedUnionListState(vertex, operatorStates)) { throw new PartialFinishingNotSupportedByStateException( String.format( "The vertex %s (id = %s) has used" + " UnionListState, but part of its tasks are FINISHED.", vertex.getName(), vertex.getJobVertexId())); } } } {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)