【issue】StarRocks事务型操作失败导致txn打满无法释放

【详述】Flink任务写入数据和程序中进行delete、insert操作突然报错, current running txns on db xxx is 200, larger than limit 200
【背景】delete、insert操作、Flink实时写入
【业务影响】
【StarRocks版本】2.5.12
【集群规模】3fe(3follower)+4be(fe与be分开部署)
【机器信息】16C/54G/万兆
通过查看日志发现开始的报错是磁盘剩余空间不足5%了,StarRocks对磁盘容量会做检查处理的


执行了一分多种开报 current running txns on db xxx is 200, larger than limit 200


源码分析:
com.starrocks.planne.OlapTableSink

com.starrocks.qe.StmtExecutor.handleDMLStmtImpl

这里捕获到上面的异常


最后:达到超时时间,我这里设置的 query_timeout = 7200,所以txn 持续2个小时一直是200,2个小时后自动终止了
2023-09-15 18:11:34,623 INFO (txnTimeoutChecker|75) [DatabaseTransactionMgr.abortTimeoutTxns():1598] transaction [65604846] is timeout, abort it by transaction manager

1赞

可以发一下NPE的栈吗,我看下为什么会抛NPE

原因定位到了,将在2.5.13修复

没有堆栈

3.0.5修复了吧?我们打算升级到3.0.5上去

3.0.5修复了,可以升级

原因是什么呢?前几天也有大量insert into 失败的,看上去是rollback了,txn事务数没有上升,之前事务txn打满是偶发的吗?