首批通过分布式安全可靠测评,为关键业务系统打造
OBServer 切主后回放日志报错 ERROR 6205(OB_TRANS_INVALID_STATE)
更新时间:2026-06-12 04:01
问题现象
事务在没有写过任何日志的情况下因为冻结被标脏且切主,此时如果新主可以继续执行的场景下,继续写日志会导致备机事务状态机被破坏,导致报错 6205(OB_TRANS_INVALID_STATE)。
关键诊断信息
触发条件
事务在没有写过任何日志的情况下因为冻结被标脏且切主,此时在新主可以继续执行的场景下继续写日志。
问题原因
因为没有正确处理没写过日志的事务标脏后切主的逻辑。
问题的风险及影响
可能会导致某个副本回放状态报错,需要 Drop 该副本来恢复。
影响租户
影响 OceanBase 数据库中的 Oracle 租户和 MySQL 租户,对于 SYS 租户无影响。
影响的版本
OceanBase 数据库 V3.1.2 GA(oceanbase-3.1.2-20210618150922)及之后版本、V3.2.3 GA(oceanbase-3.2.3.0-20220418212020)及之后版本、V3.2.4 GA(oceanbase-3.2.4.0-100000072022102819)及之后版本。
解决方法
升级至问题已修复版本。目前已修复的版本包括 OceanBase 数据库 V3.2.3 BP7(oceanbase-3.2.3.3-107000092023011911)、V3.2.4 BP1(oceanbase-3.2.4.1-101000052023010822)。
规避方式
减少切主导致事务被杀的场景,即减少主动的切主动作。