job kettle 执行多次_踩坑经历(十二)记一次kettle定时任务延迟执行的排错过程...

生产现场

场景

kettle的.sh批量执行文件内包含了a.job和b.job,a.job在b.job前面

问题

生产环境下设置的晚上4点执行kettle的b.job作业,4点没有执行白天12点多执行

排查过程

1.生产环境查看linux的定时命令

没有错误

2.从生产环境拿到kettle执行日志

1.查找b.job的kettle执行日志,发现每天中午执行,且没有报错

2.查找a.job的kettle执行日志,发现报错,且执行时间在中午

3.查看kettle日志执行时间,job是否是线性执行(按顺序执行)

通过查看日志确定job是线性执行

4.问题定位

a.job执行出错,导致长时间执行12点多结束,此时b.job开始执行

5.问题继续

查看a.job支持报错日志

Truncated incorrect DOUBLE value: '006a97d8d813420398b08fc890a78084'

6. 二次定位问题

存在两种情况发生这种问题:① 赋值的时候,类型无法匹配;②where条件比较的时候类型无法匹配

7.比对数据库赋值字段类型

没有问题

8.确定问题

where条件比较的时候有问题,对比发现id赋值的时候,将int值和varchar比较,导致无法匹配发生错乱

9.问题解决

以业务库为准,修改存储过程id值字段类型,修改存储过程id值字段类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值