使用tiflash查询结果为空

【 TiDB 版本】7.1.2
【遇到的问题:问题现象及影响】
使用tiflash查询结果为空,使用tikv则正常。



用tiflash时去掉子查询中的limit又可以正常查出。

查询一下tiflash语法上是否支持limit

支持吧

看下不加limit走的执行计划是tiflash吗?

是的,走了tiflash

执行计划这样则结果正常


下面则结果为空

这个在7.1.2执行才会出现,在5.4.2中执行不管是不是走tiflash结果都正常

你是版本升级上去的吗?可以把tiflash副本数调0 再恢复解决

是升级的,为什么要这样做,如果在正式环境中升级这样做不是会导致tiflah不可用吗

请问 5.4.2 的 plan 还有吗?

我这边重现了类似的问题,看上去应该是TiFlash 延迟物化 的问题,你可以尝试把这个优化关了看看能不能出来正确的结果:
set tidb_opt_enable_late_materialization=0;

2 个赞

@zengchaojie 是个 bug,cop apply 算子没有去填延迟物化过滤条件里相关列的值。https://github.com/pingcap/tidb/issues/49241 在这里跟进,会尽快修复,pick 进 7.1.3。

workaround (二者任选其一):

  1. set tidb_enforce_mpp = 1; 强制走 MPP
  2. set tidb_opt_enable_late_materialization=0; 不走延迟物化
1 个赞

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。