我正在为我的作业使用默认重启策略,如果出现可能在一段时间后解决的问题(无网络、内存不足、Kafka 不可用等),它可以正常工作。但是,有一些异常通常意味着代码中的错误(例如 NullPointerException 或任何其他未处理的错误),在这种情况下,我不想应用任何重启策略,因为任何数量的重启都无法解决问题。
在这种情况下,尽管配置了策略,但有没有办法从作业内部停止作业?
我认为 Flink 目前不支持您尝试实现的目标。但一个潜在的解决方案是扭转局面。
- 将重新启动策略设置为
no retry
。 - 捕获您认为将在一段时间后解决的异常(例如,网络 blip)并就地重试
- 对于其他失败情况,请抛出以停止作业