这是个思路,谢谢回复,我先试下。 ________________________________ 发件人: 赵一旦 <hinobl...@gmail.com> 发送时间: 2020年11月13日 2:05 收件人: user-zh@flink.apache.org <user-zh@flink.apache.org> 主题: Re: flink-1.11.2 执行checkpoint失败
如果超时也是错误的话,推进你设置容忍数量为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) > > >