为了更快的定位您的问题,请提供以下信息,谢谢
【详述】Caused by: java.lang.RuntimeException: com.starrocks.data.load.stream.exception.StreamLoadFailException: Transaction start failed, db: nedw_ods, table: t_ods_data, label: flink-f9ba2bb4-c9e6-48f1-b1c1-2c8f0266192c, responseBody: {
“Status”: “ANALYSIS_ERROR”,
“Message”: “current running txns on db 10437 is 1000, larger than limit 1000”
}
【业务影响】flink程序停止运行
【是否存算分离】存算分离架构
【StarRocks版本】例如:3.2
【集群规模】3fe +3cn
【机器信息】12C/48G/万兆
【表模型】主键模型
【导入或者导出方式】Flink
我这边也遇到了,请问大佬问题解决了么?
只能说SR stream load导入有要求;必须外面包一层时间间隔器,采用间隔时间导入。这种设计很不爽
几个原因:
- 导入速度太快了,降低导入频率。SR限制了单个库最多只能有1000个导入事务在运行,这个参数也可以自己调大。 每个FE都要执行下
ADMIN SET FRONTEND CONFIG(“max_running_txn_num_per_db” = “2000”); - flink导入任务不断重启,导致之前的已有的事务无法状态无法更新。24h 才会自动清理过期事务导致。 * 可以降低事务的留存时间清理过期事务,默认24h,改为1h
ADMIN SET FRONTEND CONFIG("prepared_transaction_default_timeout_second" = "3600");