show partitions from table 查询的 RowCount跟表里的行数不一致问题

【详述】由于sql查询变慢,发现show partitions from table中,每个分区的RowCount和DataSize都跟真实表中的数据不一致,而且是明显增大。每天表里2000左右条数据,磁盘占用应该是几十兆,但是发现10月26日之后数据都远远超过真实数据量。


【背景】做过哪些操作?
【业务影响】
【StarRocks版本】2.4.0
【集群规模】3fe + 5be

show partitions from table是在fe leader节点执行的吗?执行的时候该表是否有load任务?

是在fe leader节点执行的。insert任务是10分钟一次。在没有任务执行的时候查询也是这样。show partitions from table 数据也不一致。而且每调度一次,datasize和rowcount都会变大。

你执行的时间间隔是否大于导入间隔?停掉load任务之后连续执行两次看看结果会不会不一样。这个是什么模型的表?

明细模型,导入数据不到1分钟,导入结束后查询 show partitions from table 数据也不一致。


目前分区14日之前的datasize 和 rowcount都基本固定。但是真实值每天才2000多条记录

建议您导完一次之后,show partitions from table 执行后接着执行count(1)的那个计算,先看下局部的,一个分区,已知数据行数,观察看看有没有行数不一致的情况,如果出现数据膨胀的话拿下对应时间点的日志(导入开始到结束)。

两个问题:

  1. select * from limit 与 select count(*)不一致,是优化器的BUG,会在后面的版本修复
  2. DataSize太大,原因是用户Tablet太多(单机200万+),导致Compaction不及时,而且,大量Delete,导致无法做CumulativeCompaction,而BaseCompaction又比较慢,导致版本积压导致。当前版本,可以通过调小分桶数缓解。

整体调整了一下,200万+ 下降到了 20万以内,现在一切都正常了。多谢