You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2021/09/03 02:44:00 UTC

[jira] [Updated] (FLINK-24068) CheckpointBarrierHandler may skip the markAlignmentStart for alignment -with-timeout checkpoint

     [ https://issues.apache.org/jira/browse/FLINK-24068?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ASF GitHub Bot updated FLINK-24068:
-----------------------------------
    Labels: pull-request-available  (was: )

> CheckpointBarrierHandler may skip the markAlignmentStart for alignment -with-timeout checkpoint
> -----------------------------------------------------------------------------------------------
>
>                 Key: FLINK-24068
>                 URL: https://issues.apache.org/jira/browse/FLINK-24068
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Runtime / Checkpointing
>    Affects Versions: 1.14.0
>            Reporter: Yun Gao
>            Assignee: Yun Gao
>            Priority: Critical
>              Labels: pull-request-available
>             Fix For: 1.14.0
>
>
> {code:java}
> 04:51:11,727 [Flat Map -> Sink: Unnamed (10/12)#1] WARN org.apache.flink.runtime.taskmanager.Task [] - Flat Map -> Sink: Unnamed (10/12)#1 (0d965fd3c0de11dc7fb6793435cda8ba) switched from RUNNING to FAILED with failure cause: java.lang.IllegalStateException: Alignment time is less than zero({}). Is the time monotonic? [-9223369873401849363]
>  at org.apache.flink.util.Preconditions.checkState(Preconditions.java:215)
>  at org.apache.flink.streaming.runtime.io.checkpointing.CheckpointBarrierHandler.markAlignmentEnd(CheckpointBarrierHandler.java:181)
>  at org.apache.flink.streaming.runtime.io.checkpointing.CheckpointBarrierHandler.markAlignmentEnd(CheckpointBarrierHandler.java:177)
>  at org.apache.flink.streaming.runtime.io.checkpointing.SingleCheckpointBarrierHandler.checkCheckpointAlignedAndTransformState(SingleCheckpointBarrierHandler.java:253)
>  at org.apache.flink.streaming.runtime.io.checkpointing.SingleCheckpointBarrierHandler.processBarrier(SingleCheckpointBarrierHandler.java:240)
>  at org.apache.flink.streaming.runtime.io.checkpointing.CheckpointedInputGate.handleEvent(CheckpointedInputGate.java:181)
>  at org.apache.flink.streaming.runtime.io.checkpointing.CheckpointedInputGate.pollNext(CheckpointedInputGate.java:159)
>  at org.apache.flink.streaming.runtime.io.AbstractStreamTaskNetworkInput.emitNext(AbstractStreamTaskNetworkInput.java:110)
>  at org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:65)
>  at org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:490)
> {code}
> This is caused by:
>  # SingleCheckpointBarrierHandler first receive a BarrierAnnouncement, which would call checkNewCheckpoint to reset the currentCheckpointId and the alignedChannels.
>  # SingleCheckpointBarrierHandler then received an EndOfPartition, which would add the channel to the alignedChannels.
>  # SingleCheckpointBarrierHandler then received a barrier, which would found that the alignedChannels is already not empty, then it would skip the markAlignmentStart.
> We might change 3 to judge if this is the first barrier to receive.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)