我使用的是flink 1.19。当其中一位操作员产生异常时(例如,由于某种原因接收器不可用),作业将开始循环重新启动。在这种情况下,我希望能够通过保存点取消作业。 通常,要取消带有保存点的作业,我会调用 flink REST API:
curl -s -XPOST localhost:8081/jobs/2f23bde95c740a0f8f83d00ce6dfdacc/savepoints -d "{\"cancel-job\": true, \"target-directory\": \"s3://bucket-name/savepoints\"}"
作业处于 RUNNING 状态时效果良好。但当作业处于 RESTARTING 状态时,该命令将被忽略。 我知道即使在重新启动状态下,以下命令也会突然取消(终止)作业:
curl -X PATCH localhost:8081/jobs/1db48d5f38b44a0736d3e15d09f5d013
问题是,作业重启时是否可以创建保存点? 并且(相关问题)我应该让我的接收器异常保存还是快速失败?