Flink任务失败内部等待60秒后线程才结束并返回

        刚开始遇到这个问题,最先想到的是是否当前项目所属网络限制了,但最终排除调tomcat等相关配置,然后将问题定位到Flink本身,是否有相关配置影响到,由于Flink本身的配置太多,关于超时时间的设置也有不少,最终一一尝试都还是没生效,最终只能在开发环境上DEBUG调式。        

        最先在本地调式此问题,若是任务失败,立即就结束并返回了,但在开发环境则不会,原因是两种启动模式下,使用的启动Flink客户端不同,本地启动是:MinClusterClient,开发环境启动是:RestClusterClient,两者本身实现都差不多的。
       经过调式,若任务处于失败,则内部会重新轮询请求任务的状态,最终问题定位到是RestClusterClient内部默认最大尝试20次,源码可参考:https://cloud.tencent.com/developer/article/1400315

        其重试和重试间隔配置:

    默认尝试:20次,每次间隔:3秒,也就是为什么若任务提交失败不立即返回,而是一致后台重试,直到60秒后返回的原因,解决办法:可以根据需求更改配置
```
awaitLeaderTimeout读取的是rest.await-leader-timeout配置,默认是30秒;retryMaxAttempts读取的是rest.retry.max-attempts配置,默认是20;retryDelay读取的是rest.retry.delay配置,默认是3秒
```

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值