我注意到一个非常奇怪的行为,最近的版本从Flink 1.14.4到1.15.2。我的项目每秒从切分运动流中消耗大约30K记录,在版本升级期间,它将遵循最佳实践,首先从正在运行的作业中触发保存点,然后从保存点启动新作业,然后删除旧作业。到目前为止,已经对上述逻辑进行了多次测试,没有出现1.14.4的任何问题。通常,在版本升级之后,我们的工作会比最新版本延迟几分钟,但是它很快就会赶上速度(在30分钟内)。我们的保存点大约是100 MBs大,我们的工作DAG将成为90 %- 100%与一些背压时,我们重新部署,但在10-20分钟后,它将恢复正常。
然后奇怪的事情发生了,当我试图用1.15.2升级从运行的1.14.4作业重新部署时,我可以看到一个保存点已经创建并且新的作业正在运行,所有的指标看起来都很好,除了远远落后于最新的突然跳到10个小时之外!我的应用程序需要几天的时间才能赶上动力流的最新记录。当我们重新启动新作业时,我不明白为什么从0秒跳到10+小时。我在版本改进中引入的唯一主要更改是将failOnError从true更改为false,但我不认为这是根本原因。
我有一个假设,我试图通过改变我们的并行性来重新部署新的1.15.2作业,从1.15.2重新部署一个作业不会带来很大的延迟,所以我假设上面的问题只发生在版本从1.14.4到1.15.2?我确实尝试了两次碰撞,我看到了同样的10hrs+跳转的延迟。
任何见解都是欢迎的,谢谢。
发布于 2022-09-19 12:00:24
通过Flink 1.15相关的变化,移动消费者,没有什么明显的,对我来说。我建议在这个问题上向Flink社区提交一张Jira票证。请参阅https://issues.apache.org/jira/projects/FLINK/issues
https://stackoverflow.com/questions/73758775
复制相似问题