# MTP数据集分布式读写锁死，Failed to execute the sql \[SELECT NAME from SHARD NAME;\] while verifying meta file, database is locked\]

**1. 报错信息**

```
[ERROR] Failed to execute the sql[SELECT NAME from SHARD_NAME;] while verifying meta file, database is locked.
Please check the meta file: /opt/huawei/schedule-train/output/data_set/sms_1w_ true.mindrecord.db.
```

**2. 根因分析**

现在的数据路径，默认拉下来是HDFS盘，全局访问一个。规避办法是改变数据集路径，在拉任务的shell里面把数据集拷贝到/cache/下面，然后去访问这个路径。

**4. 解决方案**

1、创建数据集，将本地数据集，压缩成zip包，传上mtp，成一个新的数据集，假设数据集名称叫mindrecord\_1020,内容为本地上传的test.zip。

![](figures/zh-cn_image_0000002274277786.png)

2、任务关联数据集，点击自己的任务名，进入，数据集进行添加。数据集目录名称命名为data\_dir，点击数据集名称的三个点，选择刚创建好的数据集：mindrecord\_1020。

3、修改脚本：核心内容就是将数据集拷贝到/cache下, cp -r "$\(data\_dir\)"/\*" " $\{LOCAL\_DATA\_DIR\}"，这里的$\{data\_dir\}就是任务关联数据集的数据集目录名称，可自行修改。

![](figures/zh-cn_image_0000002308848529.png)

