如果超时也是错误的话,推进你设置容忍数量为INT最大值。因为有时候检查点失败或超时并不真正代表反压,至少我的生产中是这样。
有部分情况,压力高,但刚刚好的情况下,会出现部分检查点失败的case,但实际压力刚刚能顶住。没必要因此导致任务失败。

史 正超 <shizhengc...@outlook.com> 于2020年11月13日周五 上午10:01写道:

> 从上面看是的。
>
> public void handleJobLevelCheckpointException(CheckpointException
> exception, long checkpointId) {
>    checkFailureCounter(exception, checkpointId);
>    if (continuousFailureCounter.get() > tolerableCpFailureNumber) {
>       clearCount();
>       failureCallback.failJob(new FlinkRuntimeException("Exceeded
> checkpoint tolerable failure threshold."));
>    }
> }
>
> 大于阈值就报那个错了。
> ________________________________
> 发件人: 赵一旦 <hinobl...@gmail.com>
> 发送时间: 2020年11月13日 1:56
> 收件人: user-zh@flink.apache.org <user-zh@flink.apache.org>
> 主题: Re: flink-1.11.2 执行checkpoint失败
>
> org.apache.flink.util.FlinkRuntimeException: Exceeded checkpoint tolerable
> failure threshold.
> 顺着这个问个问题。 检查点“超时”是否计算进入checkpoint failure呢?
>
> 史 正超 <shizhengc...@outlook.com> 于2020年11月12日周四 下午9:23写道:
>
> > 执行checkpoint失败,报下面的错。
> > 2020-11-12 21:04:56
> > org.apache.flink.util.FlinkRuntimeException: Exceeded checkpoint
> tolerable
> > failure threshold.
> > at
> >
> org.apache.flink.runtime.checkpoint.CheckpointFailureManager.handleJobLevelCheckpointException(CheckpointFailureManager.java:66)
> > at
> >
> org.apache.flink.runtime.checkpoint.CheckpointCoordinator.abortPendingCheckpoint(CheckpointCoordinator.java:1673)
> > at
> >
> org.apache.flink.runtime.checkpoint.CheckpointCoordinator.abortPendingCheckpoint(CheckpointCoordinator.java:1650)
> > at
> >
> org.apache.flink.runtime.checkpoint.CheckpointCoordinator.access$600(CheckpointCoordinator.java:91)
> > at
> >
> org.apache.flink.runtime.checkpoint.CheckpointCoordinator$CheckpointCanceller.run(CheckpointCoordinator.java:1783)
> > at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> > at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> > at
> >
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
> > at
> >
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> > at
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> > at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> > at java.lang.Thread.run(Thread.java:745)
> >
>

回复