insert语句设置不同pipeline_dop时插入行数不一致

为了更快的定位您的问题,请提供以下信息,谢谢
【详述】问题详细描述
insert语句设置不同pipeline_dop时插入行数不一致,相同的语句设置/*+ SET_VAR(“pipeline_dop”= ‘2’) /时会出现与count数据行数不同,select count()为9843786行,插入后在目的表数据平均在9780000行左右 每次插入的数据行数均不一致,在设置pipeline_dop=1或4的时候插入与查询数据量一致。
设置pipeline_dop=2时插入返回的行数
image
设置pipeline_dop=4时插入返回的行数
image

中途试过在pipeline_dop=2的场景下减少子查询的层数可以规避该问题。查看了一下不同的并行度生成的profile也是一样的
【背景】做过哪些操作?
【业务影响】插入数据漏数
【是否存算分离】
【StarRocks版本】例如:3.3.2
【集群规模】例如:3fe(1 follower+2observer)+5be(fe与be混部)
【机器信息】CPU虚拟核/内存/网卡,例如:48C/64G/万兆
【表模型】例如:主键模型
【导入或者导出方式】insert语句
insert.sql (262.2 KB)
profile.log (15.7 KB) – pipeline_dop=2的profile
profile.log (15.7 KB) – pipeline_dop=4的profile

【联系方式】社区群22 hpp
【附件】

  • fe.log/be.INFO/相应截图
  • 完整的报错异常栈

你提供的这个是plan

大佬我这里又复现了这个问题 帮忙看一下 提出来了两个profile。 不是帖子里面的表 但是现象一样
同时提交多条类似的sql会有问题 如果没并发的话并行度2写入运行正常

版本3.2.7
写入数据为4330
pipeline_dop4:output_pipeline_dop2.log (164.3 KB)
写入数据为3716
pipeline_dop2:output_pipeline_dop2.log (164.3 KB)

这两个都是3716行的。。。

最好提供一个query profile 而不是 explain analyze

可以考虑先升级到3.2最新的试一下

不好意思大佬 发错文件了,参考官网的profile文档在一个session里面复现了 两个profile都在一个文件里面
output4.log (18.5 MB)

已经修复过的一个问题 spill-preagg 这个版本有问题,升级一下吧

好的 感谢。