创建索引卡死

【 TiDB 使用环境】测试
【 TiDB 版本】7.1.0
【复现路径】创建索引
【遇到的问题:问题现象及影响】

index

CREATE UNIQUE INDEX uni_xx_xx ON xx.xx (tx_id, sequence);
卡死
日志:
[ddl_worker.go:980] [“[ddl] run DDL job”] [worker=“worker 7, tp add index”] [job=“ID:152, Type:add index, State:running, SchemaState:none, SchemaID:146, TableID:150, RowCount:0, ArgLen:0, start time: 2023-07-25 09:17:03.05 +0000 UTC, Err:[ddl:-1]cannot get disk capacity at /tmp/tidb/tmp_ddl-4000: no such file or directory, ErrCount:510, SnapshotVersion:0, UniqueWarnings:0”]

是不是低版本升级上来的,手动创建下/tmp/tidb/tmp_ddl-4000目录并且给下权限再试试吧

这问题看到好几次了,手工创建 /tmp/tidb/tmp_ddl-4000目录吧

隔几天有人问一次,报错目录没有就手工加,有就给个777的权限

请问的根本原因是什么呢? 如何能避免呢

自问自答 这个bug已经被修复了
原因请参考
https://github.com/pingcap/tidb/pull/45457

1 个赞

配置 temp-dir 为一个可用的路径,或者手工创建 temp-dir 的默认路径 /tmp/tidb
https://docs.pingcap.com/zh/tidb/stable/tidb-configuration-file#temp-dir-span-classversion-mark从-v630-版本开始引入span

我今天也遇到这个问题了,是从7.0.0版本升级上来的,但是不知道为什么没有自动创建这个目录

先kill掉

这个是个BUG,等修复

修复已经在v7.1.1里面了

检查/tmp/tidb/tmp_ddl-4000目录权限

我用的版本是7.1.1 版本的,不过这个版本是从7.1.0版本升级过来的,没有这个目录

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