在 2 个与保存点相关的 REST API 中:
-
POST/jobs/:jobid/savepoints,触发异步保存点操作并返回触发器 ID。
GET/jobs/: jobid/savepoints/:triggerid,它通过触发器 ID 返回操作的状态。
第一个 API 采用参数target-directory
,但不清楚它是确切的目录还是父目录,Flink 将在其中生成一个名为保存点 ID 的子目录。 根据我对 Flink CLI 的经验,我认为它可能是父目录,但如果是这种情况, 如何获取保存点 ID?它未记录在第二个 API 中。
我通过打印出响应来弄清楚。以下是成功和失败的示例。
1)成功:
{
"status":{"id":"COMPLETED"},
"operation":{
"location":"file:/savepoints-dir/savepoint-ad4025-dd46c1bd1c80"
}
}
2)故障:
{
"status":{"id":"COMPLETED"},
"operation":{
"failure-cause":{
"class": "java.util.concurrent.CompletionException",
"stack-trace": "..."
}
}
}