bobo2
1
【Doris 使用环境】生产
【Doris 版本】doris-1.2.2-rc01
【问题描述】
报错信息:flink做stream load时,会有commited txn堆积,导致入库效率变慢,查询失败。
导入频率及量级下图。
目前be中调大了publish_version_worker_count = 120,对txn的发布没有效果。
已经重启过fe和be commited txn 也没有什么变化。还能调整那些参数,防止txn的堆积。
具体表现:
【操作系统】
【机器配置】CPU核数 32+, 内存120G+,磁盘1T+,目前1fe+9be
【复现路径】
【附件】
mklzl
2
flink 任务报错的时候对应的fe的日志截图有吗,另外这个参数 max_running_txn_num_per_db
有修改吗
bobo2
3
max_running_txn_num_per_db调整过,开始设置了10000,txn没有减少,flink任务已经开始报错到达10000的阈值,临时调整到20000,重启了fe,还是没有下降。
label_keep_max_second 也调整到了6小时
截图是异常时期的部分日志,里面有很多当时query异常的日志,
之后就是大量的超出阈值的日志。fe和be反复重启了几次txn堆积也没有减少。
mklzl
4
看日志,你集群中有很多损坏的tablet,可以先看看集群中有多少不正常的tablet,然后想办法先把这个修复一下,然后缩小一下导入的频率,再观察一下
bobo2
5
出问题的时间段,发现repair过多,停掉了均衡任务,暂时停止了数据的写入,发现repair任务没有running,都在pending,committed txn也在一直堆积没有处理。期间反复重启了fe和be,目的是放弃txn的堆积,没有成功。最终出现了下面的情况,事务堆积到最大的20000,所有入库和查询失败。但在第二天时我又尝试重启fe和be,txn事务堆积清0了,堆积的数据开始高频率入库,返回的状态都为Publish Timeout。
mklzl
6
导入任务和副本均衡任务会有冲突,会导致repair任务都在pending,出现这种情况,优先让repair将副本修复完成,都有健康的副本后,导入任务才不会容易出现异常情况。
bobo2
7
目前把doris版本升级到1.2.6后,没有在出现上面的问题,后续在观察下。
1 个赞