GBase 8a
其他
文章

一次加载日志无记录的排查

发表于2025-09-05 20:35:17106次浏览4个评论

收到某项目客户反馈在加载数据后报错

客户任务失败后想核实报错原因,但是客户端查不到日志,使用了以下两条语句均没有结果:
select * from information_shcema.load_result where task_id=108006279;

show load logs 108006279;

正常情况下两种方法都可以查到load记录的信息,但这里都无法查询到记录,这里通过查询information_shcema.cluster_load_result搜索所有coordinator节点的输出记录,但是客户端中查询该表跑不动,看了下并没有锁,于是换了另一种等价的查询方法
show gcluster load logs 108006279
查询结果如下:

可以看到此处有报错,原因为加载的字段长度过长。
后面客户又一次反馈新的加载任务结束后即使show gcluster load logs也获取不到日志了,只能再次登录客户端排查,排查中涉及到一个参数gbase_loader_logs_dir,该参数是用户指定错误数据与溯源日志文件汇总目录,且由global gbase_loader_logs_collect参数控制开关。
show variables like ‘%gbase_loader_logs_dir%’定位到日志所在的路径,在获得登录服务器的权限后到该目录下可以找到日志,

这里目录名就是task_id,既然日志确实存在,那么考虑是不是权限的问题影响业务用户查询。

沟通后得知这次load任务涉及到了另一个用户,解决方法是可以授予该用户process的权限(grant process on *.* to <用户名>;),由于涉及到变更,这里建议客户从服务器直接查日志。

评论

登录后才可以发表评论
GBase用户21143发表于 10个月前
学习啦。谢谢
用户头像
levvel发表于 8个月前
听说评论可以拿积分,我试一下子
用户头像
levvel发表于 4个月前
太有深度了!
白芷发表于 2个月前
三人行必有我师