我们在使用 Spring Boot + MyBatis 连接 OceanBase 3.2 集群时,偶尔会遇到 OB_ERR_TRANSACTION_TIMEOUT 错误。监控显示当时集群的 CPU 利用率只有 30%,内存也很充足,并没有发生大规模合并(Major Freeze)。
我们的业务逻辑主要是批量更新库存,事务内包含多次行锁操作。我怀疑是不是 OB 的默认事务超时时间(ob_query_timeout 或 ob_trx_timeout )太短了?但我看官方文档说默认是 24 小时啊。有没有大佬遇到过类似情况,这到底是网络抖动引起的,还是分布式事务的两阶段提交(2PC)卡住了?