超时后检查点失败。我们观察到有一些子任务没有响应。有什么想法会导致这个问题吗?作业上下文:平行度:5数据量:40k以下背压:在作业结束时发送到另一个api,这可能需要一些时间。缺少子任务响应外部调用:
Future<> future = Producer.send(topic, genericRecord, dataSetID); future.get(); return Boolean.TRUE;
50few1ms1#
这里似乎有可能的是 future.get() 无论出于何种原因,块都无法在检查点超时间隔内返回。我可以建议您改用flink的richasyncfunction。这样做的好处是子任务不会被阻塞,从而允许完成检查点。richasyncfunction将检查未解析的未来,并在从失败中恢复时重新发出这些请求。
future.get()
1条答案
按热度按时间50few1ms1#
这里似乎有可能的是
future.get()
无论出于何种原因,块都无法在检查点超时间隔内返回。我可以建议您改用flink的richasyncfunction。这样做的好处是子任务不会被阻塞,从而允许完成检查点。
richasyncfunction将检查未解析的未来,并在从失败中恢复时重新发出这些请求。