olap表select * limit查询不出数据

【详述】olap表select * limit查询不出数据 增加筛选条件后正常查询
【背景】改表通过insert临时表后swap转换回来 通过select count(*) 可以查询数据行数,经过测试增加筛选条件也可以正常返回 tablet看了下都是正常 也试过手动compact也没有作用
image
【业务影响】表不可用
【是否存算分离】
【StarRocks版本】3.2.11
【集群规模】例如:3fe(1 follower+2observer)+5be(fe与be混部)
【机器信息】CPU虚拟核/内存/网卡,例如:48C/64G/万兆
【联系方式】
社区群22 hpp
【附件】
第一张的执行计划是select *加了order by条件后limit 20可以正常查询,第二张的是select * from table limit 20。看了下有区别的只有olap_scan这个



be.INFO异常查询的日志

建表语句
create.sql (6.1 KB)

重新写入成功后可以正常查询一段时间 几分钟后select *limit就为空了 实际内部还是有数据可以通过条件查询

排查了异常select使用的tablet 在limit到达一个阈值的时候才会去读对应的数据。用create table as select from xxx建了一张一样的表没有该问题。

通过建三张表可以稳定复现该问题
1.分桶16 bucket size 512M 查询limit为空
2.分桶32 bucket size 256M 查询limit为空
3.无分桶配置 查询正常

这个表做过什么操作,是用同步工具同步过来的吗

查询不出数据的query拿一下query profile.

手动创建的 通过insert into写入的数据

您好 两个查询完整的profile都在这个文件里 建表采用的参数是"bucket_size" = “256288000”,写入数据后2分钟可以查询 过两分钟就会查不出数据
profile.log (29.1 KB)

参考这个Example拿完整的profile.

参考文档把两个完整的profile都取出来了
queryFileFull.log (120.9 KB)

能参考这个query_dump文档, 把两个query对应的query dump发一下不? https://docs.starrocks.io/docs/faq/Dump_query/#syntax

运行正常的带orderby的语句 dump_file_order_by_limit (46.7 KB)

运行失败的select * limit dump_file_error (31.2 KB)

show tablet from xxx 看一下这个非分区表下面的tablet统计信息.

tablet信息:tablet (38.7 KB)

fixed in https://github.com/starRocks/starrocks/pull/49394

upgrade to v3.2.12 with the fix.