我有一个在 Kinesis Data Analytics(AWS 上的托管 Flink 服务)上运行的 Flink 应用程序(RocksDB 后端,Flink 1.11)。
我处理需要几个小时的 X 事件,并在处理完所有事件后触发保存点。
我注意到CreateSnapshot
在正在运行的应用程序上触发保存点(通过 KDA API)失败并出现内存不足异常,但使用保存点成功停止应用程序(应用程序关闭大约需要 2 小时)
我假设CreateSnapshot
使用/jobs/:jobid/savepoints
API 并在内部停止 KDA 应用程序使用/jobs/:jobid/stop
API
问题/jobs/:jobid/savepoints
: API 和API之间的内部区别是什么/jobs/:jobid/stop
。
根据观察,与常规 Savepoint 触发器(不停止应用程序)相比,使用 Savepoint 停止 API 似乎减少了内存占用。了解内部差异有助于我进一步调试 OOM 故障。