Tiflash 查询时:DB::Exception: cannot load checksum framed data

用 Tiflash 查询时报这个错:

Error 1105 (HY000): other error for mpp stream: DB::Exception: Exchange receiver meet error : DB::Exception: cannot load checksum framed data from /tidb-tiflash/data/data/t_106/stable/dmf_1590/%2D1.dat (errno = 22): (while reading from DTFile: /tidb-tiflash/data/data/t_106/stable/dmf_1590)

Error 1105 (HY000): other error for mpp stream: DB::Exception: Exchange receiver meet error : DB::Exception: Exchange receiver meet error : DB::Exception: Exchange receiver meet error : DB::Exception: checksum framed file /tidb-tiflash/data/data/t_106/stable/dmf_323/%2D1.dat is not seekable: (while reading from DTFile: /tidb-tiflash/data/data/t_106/stable/dmf_323)

首次查询会报错,但是重新再查询又不再报错。
不知道是什么原因导致的?

看着是 TiFlash 在读取数据文件时发生了错误。
没在报了,就观察观察

参考类似的看看

没用到tiflash,来看看解决方案

  • Tiflash 在查询时使用了动态 Region 功能,这个功能可以提高数据同步的效率,但也可能导致一些问题,比如无法加载校验和数据或者文件不可寻址。这些问题通常是由于 Tiflash 和 TiKV 之间的网络延迟或者数据不一致造成的。
  • Tiflash 在查询时使用了 MPP 模式,这个模式可以提高查询性能,但也可能导致一些错误,比如无法注册 MPP 任务或者序列化响应失败 。这些错误通常是由于 Tiflash 和 TiDB 之间的通信问题或者查询计划不合理造成的。

为了解决这些错误,可以尝试以下方法:

  • 检查你的 Tiflash 版本是否是最新的,如果不是,你可以升级到最新版本,因为一些已知的问题可能已经在新版本中修复了。
  • 检查你的网络状况是否正常,如果有网络延迟或者丢包,你可以尝试优化你的网络配置或者调整你的 TiDB 参数 。
  • 检查你的查询语句是否合理,如果有非相关子查询或者复杂的连接操作,你可以尝试简化你的查询语句或者使用提示来指定查询模式 。