invalid memory address or nil pointer dereference

tidb.zip (759.0 KB)

OOM 了。
你可以回忆下有哪些表使用了外键

看了一下代码 v4.0.3 是引用的 fk 的 column 产生的错误,应该是设置了外键约束。

麻烦用 curl http://{TiDBIP}:10080/schema/{db} 拿下 meta 信息,将里面 {db} 换成可能使用外键的 db 的名字

health_dev.zip (134.4 KB)

试试这个命令

ADMIN SHOW DDL JOBS where table_name=“mbr_member_team_patient”;

有个外键被重复添加了几百次,外键名:FK2yco6115i4a5w93f4b078bg2j

这个是 hibernate 开启 ddl auto 的时候,自动添加的,后面把 ddl auto 去掉了。
刚才试了下
alter table mb_member_type_equity_tpl drop foreign key FK2yco6115i4a5w93f4b078bg2j;
报错:

[Code: 1146, SQL State: 42S02] Table ‘health_dev.mb_member_type_equity_tpl’ doesn’t exist

好的我们再看下,这个表是已经删除了吗

是的,已经删除了

ADMIN SHOW DDL JOBS where table_name=“mb_member_type_equity_tpl”;

试试这个

试试下面的语句,直到看到建表语句。

ADMIN SHOW DDL JOBS 500 where table_name=“mb_member_type_equity_tpl”;

ADMIN SHOW DDL JOBS 1000 where table_name=“mb_member_type_equity_tpl”;

ADMIN SHOW DDL JOBS 2000 where table_name=“mb_member_type_equity_tpl”;

ADMIN SHOW DDL JOBS 4000 where table_name=“mb_member_type_equity_tpl”;

再试试下面的语句,直到看到建表语句。

ADMIN SHOW DDL JOBS 500 where table_name=“mbr_member_team_patient”;

ADMIN SHOW DDL JOBS 1000 where table_name=“mbr_member_team_patient”;

ADMIN SHOW DDL JOBS 2000 where table_name=“mbr_member_team_patient”;

ADMIN SHOW DDL JOBS 4000 where table_name=“mbr_member_team_patient”;

继续用 12000,16000 试试。

看到 health_dev 这个库的,也就是 table_id 为 75698 的 create table 命令。

这个查询太慢了,ADMIN SHOW DDL JOBS 30000 用了7分钟,还没查到 create table。
我现在用 60000 不知道要执行多久呢。
有没有办法让这个查询快一些

60000 执行了 17 min 55.80 sec,还是没查到 create table