首批通过分布式安全可靠测评,为关键业务系统打造
OceanBase 数据库 V4.2.1.x transfer 误判存在活跃事务,任务卡住无法完成的原因和解决方法
更新时间:2026-06-12 08:51
问题现象
在 OceanBase 数据库 V4.2.1.4 版本中手动发起 transfer 分区任务后,该任务一直卡住,无法完成,任务日志报错 -7114,但实际上并不存在活跃事务。
关键日志信息。
[2024-06-04 22:19:28.351194] WDIAG [STORAGE] check_src_ls_has_active_trans_ (ob_transfer_handler.cpp:781) [3068][T1004_TransferS][T1004][xxxxx-xxxxx-xxxxx-xxxxx] [lt=6][errcode=-7114] src ls has unexpected active trans count(ret=-7114, active_trans_count=1, expected_active_trans_count=0, src_ls_id={id:1001})
[2024-06-04 22:19:28.351201] WDIAG [STORAGE] do_with_start_status_ (ob_transfer_handler.cpp:463) [3068][T1004_TransferS][T1004][xxxxx-xxxxx-xxxxx-xxxxx] [lt=6][errcode=-7114] failed to check src ls active trans(ret=-7114, task_info={tenant_id:1004, src_ls_id:{id:1001}, dest_ls_id:{id:1002}, task_id:{id:216}, trace_id:xxxxx-xxxxx-xxxxx-xxxxx, status:{status:1, status:"START"}, table_lock_owner_id:{id:10269380}, table_lock_tablet_list:[{tablet_id:{id:200069}}], tablet_list:[{tablet_id:{id:200069}, transfer_seq:0}, {tablet_id:{id:1152921504606847072}, transfer_seq:0}, {tablet_id:{id:1152921504606847073}, transfer_seq:0}], start_scn:{val:0, v:0}, finish_scn:{val:0, v:0}, result:-1})
[2024-06-04 22:19:28.351476] WDIAG [STORAGE] do_with_start_status_ (ob_transfer_handler.cpp:502) [3068][T1004_TransferS][T1004][xxxxx-xxxxx-xxxxx-xxxxx] [lt=29][errcode=-7114] failed to commit trans(tmp_ret=-7114, ret=-7114)
问题原因
因内部逻辑导致手动 transfer 期间误判存在活跃事务,进而造成手动发起的 transfer 任务一直无法完成。
问题的风险及影响
影响 transfer 任务执行。
影响租户
影响 OceanBase 数据库中的 SYS 租户和 Oracle 租户以及 MySQL 租户。
适用版本
OceanBase 数据库 V4.2.1.x 版本。
解决方法
升级至问题已修复版本。目前已修复的版本 OceanBase 数据库 V4.2.1 BP4 Hotfix2(oceanbase-4.2.1.4-104020022024031915)。