存算分离架构,所有库所有表写入事务全部卡死,全部集中在COMMITTED状态下

为了更快的定位您的问题,请提供以下信息,谢谢
【详述】问题详细描述
starrocks 集群版本 3.3.17 , 存算分离架构。现象:

  1. 所有库所有表的写入操作全部卡死在COMMITTED状态下 。
  2. 新写入事务全部都会卡死在COMMITTED状态下。
  3. 集群监控 lake_publish 零星有几个,未有等待队列,load 队列为空。


  4. 考虑可能由于第一个问题事务导致的系统异常,将对应事务下的所有分区drop partition *** force , 事务同样未结束(已重启过 fe cn )
  5. 整体集群资源使用量很低
    image
    【背景】做过哪些操作?
    重启过Starrocks集群
    【业务影响】
    【是否存算分离】是
    【StarRocks版本】例如:3.3.17
    【集群规模】例如:3fe(1 follower+2observer)+3cn k8s 部署
    【机器信息】fe 配置
    【联系方式】auguszero@163.com wx: XIAOMI_YU_7
    【附件】
    cn.csv (689.1 KB) fe.csv (464.5 KB)

问题原因 大概找到了,事务卡死的原因(猜测非官方):

  1. 事务id版本不连续。
  2. 集群开启了 batch_publish
  3. 集群当前开启的 batch_publish_min_version 比较大(之前设置的是10)

上述三个原因导致 其中一个事务出现问题(editLog 出现状态异常时),单次 publish_batch 针对此次的连续事务就会卡死。
另外 之所以会出现 事务写入失败的假象,可能是因为其批量事务未达最小值度量,从而出现了COMMITTED状态。 实际上仅仅是在排队的情况。

基于上述猜测,若是非强写入场景,建议关闭 批量publish操作,或这将batch_publish_min 设置较小。

但是,上述描述,并没有真正解决。

  1. 为什么会出现最开始的事务锁死情况? @唐正
  2. 如何能够正确识别出集群的异常?