缺少子任务响应

nbysray5  于 2021-06-21  发布在  Flink
关注(0)|答案(1)|浏览(318)

超时后检查点失败。我们观察到有一些子任务没有响应。有什么想法会导致这个问题吗?
作业上下文:
平行度:5
数据量:40k以下
背压:在作业结束时发送到另一个api,这可能需要一些时间。
缺少子任务响应外部调用:

Future<> future = Producer.send(topic, genericRecord, dataSetID);
  future.get();

  return Boolean.TRUE;
50few1ms

50few1ms1#

这里似乎有可能的是 future.get() 无论出于何种原因,块都无法在检查点超时间隔内返回。
我可以建议您改用flink的richasyncfunction。这样做的好处是子任务不会被阻塞,从而允许完成检查点。
richasyncfunction将检查未解析的未来,并在从失败中恢复时重新发出这些请求。

相关问题