空表添加主键,卡死

【 TiDB 使用环境】测试
【 TiDB 版本】7.1.0
【复现路径】先创建不带主键的表,在添加主键
【遇到的问题:问题现象及影响】添加主键卡死
【附件:截图/日志/监控】

创建空表表SQL:
CREATE TABLE cft (
id bigint(20) NOT NULL,
balance decimal(15,2) DEFAULT NULL,
nickname varchar(100) DEFAULT NULL
) ;

之后再添加主键:ALTER TABLE cft ADD PRIMARY KEY (id);

show processlist 查看,卡死

这个要如何排查

tidb 日志 一直刷如下:

/tmp/tidb/ 没有这个目录,
tmp-storage-path 参数是 /tmp/1000_tidb/MC4wLjAuMDo0MDAwLzAuMC4wLjA6MTAwODA=/tmp-storage
temp-dir 参数是 /tmp/tidb

手动创建了/tmp/tidb 给了 777 tidb:tidb 还是报错
进一步创建了 /tmp/tidb/tmp_ddl-4000 chown tidb:tidb -R 后 DDL 执行成功。

为什么没有自动创建改文件呢?

安装的时候tidb用户自己建的吗?

不是自己创建的,是tiup cluster 部署环境自动创建的

这个问题我们也遇到过,升级上来的一个集群居然没自动创建那个目录,这个目录是使用索引加速功能需要用到的,会在这个目录下面产生一些临时文件。

那这个需要提个优化,搞一下了

提个bug吧 :smiley:

资源不足?

有些目录问题和文件权限问题,我发现和操作系统有点关系的。
我在ubuntu上部署有些目录就找不到。
centos7上就没有问题。

Ubuntu和centos7的/tmp默认权限应该都是777,没权限就很奇怪

哪里提呢

很充足的,就是没有自动创建,需要手动创建目录文件

是目录都不存在,没有自动创建目录

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