【故障】使用sysbench对TiDB集群继续压测以后无法执行 Drop 和 Create 表和库

【 TiDB 使用环境】测试环境

  • PD 3台:16G32G

  • TiDB 3台:16C32G

  • TiFlash 5台:16C32G

  • TiKV 20台:16C32G

  • TiUP 损坏,元数据丢失,暂时无法修复TiUP节点

【 TiDB 版本】v 6.1.0

【复现路径】使用 sysbench 对TiDB数据库进行压力测试

  • sysbench --db-driver=mysql --time=300 --threads=100 --report-interval=1 --mysql-host=<Host> --mysql-port=4000 --mysql-user=<User> --mysql-password=<Password> --mysql-db=test --tables=10 --table_size=1000000 oltp_read_write prepare

  • sysbench --db-driver=mysql --time=300 --threads=100 --report-interval=1 --mysql-host=<Host> --mysql-port=4000 --mysql-user=<User> --mysql-password=<Password> --mysql-db=test --tables=10 --table_size=1000000 oltp_read_write run

【遇到的问题:问题现象及影响】

为了评估集群性能,所以使用 sysbench 对TiDB集群继续压力测试,生成10个表,每张表生成1亿条数据。prepare阶段一切正常,run阶段报错:FETAL:sbtest1 is not exist,程序卡死。随后取消run命令,准备drop table掉所有测试表重新测试时,发现无法正常执行命令,drop执行时间超过3000s依然没有执行完毕,亦未显示执行失败。同时,经过检查,目前TiDB集群Select,Insert、Delete数据正常,但无法create table,create database,drop table,drop database,也无法通过重启集群或重启服务器恢复

admin show ddl jobs 看看,drop的表上还有没有DML?新的测试环境直接用最新的6.1.7版本吧

1 个赞

压力测试的,可以直接重启集群

通过admin show ddl jobs发现确实有堆积的jobs,有部分表还在添加索引,但不知道为什么一直没有完成,通过 ADMIN CANCEL DDL JOBS 取消之后就恢复正常了。十分感谢!

admin show ddl jobs 是问题的关键

重启大法