写点什么

记一起 TiFlash 副本同步被卡住的问题

  • 2024-11-29
    北京
  • 本文字数:621 字

    阅读完需:约 2 分钟

作者: dba-kit 原文来源:https://tidb.net/blog/a4435673

现象

业务反馈查询 TiFlash 报错:No access path for table 'dwd_id_mapping' is found with 'tidb_isolation_read_engines' = 'tiflash,tidb', valid values can be 'tikv'.​


到集群中查看了一下,确实这个表的副本一直处于同步状态,但是进度一直没有发生变化。



​​


看了下 PLACEMENT POLICY 状态,确实也处于 INPROGRESS​状态​




但是通过 pd-ctl​来看,scheduler​的状态是正常的,但是 operator show​ 发现并没有待执行的 operator​的存在。​



根因分析

根据上述表现分析说明, PD 根本没有产生 operator​,肯定是调度的某个条件没有满足导致的,联想到昨天做的唯一操作是:由于TiFlash 配置失效问题,调整了 TiFlash Write 节点的 storage.main.capacity​配置,将其设置为比当前使用量略大的值。大概率是和这个动作有关系,根据low-space-ratio 参数介绍的描述,当节点的空间占用比例超过该阈值时,PD 会尽可能避免往该节点迁移数据。


修复方案

通过pdctl show config​看到当前配置的schedule.low-space-ratio: 0.88​,通过执行config set low-space-ratio 0.98将其修改为 0.98 后,过了几分钟 TiFlash 副本就同步完成了,后续查询也没有继续报错了。


PS:至于为什么这个表的 TiFlash 副本需要重新同步,是因为每天业务都会 TRUNCATE 该表重新插入数据,admin show ddl jobs​也可以佐证,之前每次 TRUNCATE 后,TiFlash 会自动更新副本状态,但是今天一直被卡住。




发布于: 刚刚阅读数: 3
用户头像

TiDB 社区官网:https://tidb.net/ 2021-12-15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
记一起 TiFlash 副本同步被卡住的问题_管理与运维_TiDB 社区干货传送门_InfoQ写作社区