元数据采集包升级后主要功能不能使用

发布时间 2023-06-30 11:26:04作者: seufelix
1.具体问题背景
2022年农历年前,为了解决大SQL文件血缘解析不能完整处理的问题。
之前是由于单个线程对文件中的sql语句,进行血缘解析的,当有嵌套层次很深的语句时,线程超时终止(原因未确定),
后代码优化,增加了线程池的多线程处理,每条语句采用单独的线程解析,避免一个语句不能执行,导致整个文件任务无法执行完毕。
代码提交之后,采用jekins进行打包,开发测试这边本地没有测试环境,现场部署后,待解决的问题可以处理。
但后面,有报元数据的数据源信息不能连接、采集,
问现场,说是部署后一段时间,元数据还是能连接采集。
然后根据错误日志分析,一是,报错中的hive、hbase依赖版本不兼容、二是,新写代码有导致。三是、hive环境问题。
根据日志分析新增代码,找不到具体的问题,排除二
虽然现场的描述,说第一种可能型不大,但需要质疑,然后替换原有的包,能正常采集,排除三。
然后对比之前可用的包和现在的jar包,用compare比较其中的jar包依赖,发现新的包中多了高版本的一些hive、hbase依赖。
 
分析为什么打包会有这样的问题,用新打出的包中的一些独有的jar包名称,在各pom文件查询,发现集成了一些非当前使用的pom文件中的jar,
检查jekins,使用的是正确的pom文件,然后思索可能性,是否是没有clean,
然后检查jekins打包脚本,发现kotlin编译前没有clean,导致之前打的包如果有额外的依赖jar不会被覆盖,相同的依赖却可以覆盖。
 
结论一:
1.尽量检查jekins的打包脚本,打包之前需要clean操作。
2.不要盲目相信现场同时的说辞,需要自己合理推测验证。