适用版本
OceanBase 数据库 V4.2 版本。
问题描述
在业务写入数据时,发起均衡扩容任务,大概率会遇到迁移慢甚至不迁移的情况,报错误 -7119 和 -7114。
问题原因
没有开启 transfer 杀事务时(_enable_balance_kill_transaction),transfer 要等待活跃事务完成(默认 100ms)。当活跃事务本身持续时间较长,且业务侧持续开启新事务时,transfer 等不到活跃事务结束,导致 transfer 持续失败。
解决方法
修改配置项: 两个配置项都要修改才会生效。
obclient> alter system set _enable_balance_kill_transaction = true tenant = my_tenant;
obclient> alter system set _balance_wait_killing_transaction_end_threshold = '10s' tenant = my_tenant;
如果使用上述方法还是慢,则需要联系业务停压。