使用dolphinscheduler 同步数据至 OB 出现 Transaction is killed 报错

【 使用环境 】生产环境
【 OB or 其他组件 】OceanBase 4.3.4
【 使用版本 】社区版
【问题描述】datax同步数据至OB,在四点半左右出现Transaction is killed 现象,报以下错误

该时间点OCP监控上没有显示异常,租户资源使用率也没有达到瓶颈。查看oceanbase.DBA_OB_SERVER_EVENT_HISTORY 在4点31出现 process hang 的现象,目前怀疑是这个现象 导致 DATAX同步数据失败。

【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

用户问题: 在使用 DataX 同步数据到 OceanBase 4.3.4 社区版时遇到 ‘Transaction is killed’ 错误,该问题发生在 4 点半左右,OCP 监控未显示异常,租户资源使用率也未达到瓶颈。从 DBA_OB_SERVER_EVENT_HISTORY 表中发现 4 点 31 分出现了 process hang 的记录,怀疑该现象导致 DataX 同步数据失败,如何解决?

推荐使用 obdiag 工具进行根因分析和日志采集,以便确认问题的具体原因。
根因分析场景: 事务被杀死
根因分析命令: obdiag rca run --scene=transaction_rollback
日志采集场景: 悬挂事务
日志采集命令: obdiag gather scene run --scene=observer.suspend_transaction

为了更好地帮助您定位和解决问题,请您提供以下信息:

  1. 当前租户的配置情况,例如内存大小、CPU 核数等。
  2. 发生 ‘Transaction is killed’ 错误的具体 SQL 语句。
  3. 在 DataX 配置中,关于 OceanBase 数据库连接的部分配置详情。
  4. 4 点半前后是否有进行过维护操作或变更操作,如添加数据、修改索引等。
  5. OCP 监控中的详细信息,特别是与租户资源使用率相关的图表。
  6. 是否还有其他异常日志信息可以提供,例如从 OBServer 的日志文件中发现的异常信息。

附上敏捷诊断工具 obdiag 使用帮助链接

看着好像是异常切主了呀 你在查一下 这个信息
select * from DBA_OB_SERVER_EVENT_HISTORY where module like “%FAILURE_DETECTOR%” limit 10;

1 个赞

使用 datax 同步的吗?从报错的截图上没有看到 datax 相关的包名

看起来是dolphinscheduler调用的sql任务,发现事务被kill了,这个错误主要是由于事务被数据库系统强制终止导致的,是不是数据库有事务超时的设置?或者是当前的dolphinscheduler执行的sql类型不被当前数据库的事务允许

1 个赞

是的,标题打错了,我看DBA_OB_SERVER_EVENT_HISTORY里有 clog disk / process is hang 的记录

看着是clog disk hang导致的 切主了 切主的影响
这种操作可能会对正在执行的长事务或未提交的事务产生以下影响:

  1. 长事务
  • 长事务可能会被中断,特别是在 Leader 切换期间,如果事务正在等待某些资源或锁,可能会导致超时。
  • 事务的执行时间可能会延长,因为新的 Leader 需要重新获取资源和锁。
  1. 未提交的事务
  • 未提交的事务可能会回滚。如果在 Leader 切换期间,事务还没有提交,那么新的 Leader 可能会认为这些事务是未完成的,并进行回滚。
  • 事务的可见性可能会受到影响,因为在 Leader 切换期间,某些数据可能暂时不可见。

datax同步数据到ob连接的是obproxy么?还是直连呀

是2883连接。dolphinscheduler同步数据至OB,标题刚才写错了

使用obdiag收集一下截图时间前后半个小时的日志信息
image

obdiag gather log --from “2022-06-30 16:25:00” --to “2022-06-30 18:30:00”

好,我收集一下。问题时间点出现了PROCESS HANG

这个是20号hang住的,这个时间点是NFS的问题

时间放大一点 03:00-05:00这个时间段的日志

这个是哪个节点上的问题 我刚才让你查看信息 好像没有查到呀
select * from DBA_OB_SERVER_EVENT_HISTORY where module like “%FAILURE_DETECTOR%” order by TIMESTAMP desc limit 10;

是有这个记录,但是是20号的,那天是因为NFS的问题导致。帖子这个问题时间点是23早上四点半,四点半出现了PROCESS HANG

在查一下信息
select * from DBA_OB_SERVER_EVENT_HISTORY where module like “%FAILURE_DETECTOR%” order by TIMESTAMP desc limit 10;

这个就是,但是是20号的
image

今天出现了PRCOESS HANG,会不会是这个影响了数据同步,我看时间点很近

上面的没有时间排序 查的是之前的数据 我把语句改了 你在查一下