在使用 YMP 工具进行数据和对象迁移时,有些用户在执行到元数据阶段二(主要是创建索引)时,会遇到这样一条报错:

YAS-04204 number of PARALLEL must be between 1 and 4

这条错误信息提示的是并发数量不合规。实际上,这种问题往往和目标数据库部署规格、YMP 默认配置有关。

image.png
一、问题现象

在一台 2 核 CPU、8GB 内存的小规格机器上部署了 YashanDB,并使用 YMP 工具进行迁移。当迁移任务运行到元数据阶段二、开始批量创建索引时,系统抛出了 YAS-04204 错误,中断了迁移流程。

image.png
image.png
二、原因分析

这个问题的根本原因在于:

YashanDB 对于索引创建的并发数有严格限制,允许的最大并发度为 CPU 核心数乘以 2;

在 2 核机器上,最大并发度是 4;

而 YMP 工具的默认配置里,migration.parallel.index 参数被设为了 5;

这个配置超出了数据库允许的上限,因此触发了 YAS-04204 错误。

简单来说,就是 YMP 想发起 5 个并发建索引,但数据库最多只能接受 4 个,因此被拒绝。

image.png
三、解决方法

处理方式很简单:

1.打开 YMP 的配置文件;

2.找到 migration.parallel.index 参数;

3.将其数值改为 4 或更小;

4.保存后重启 YMP;

5.在 YMP 控制台执行失败项重试,即可继续完成迁移。

注意,修改参数后必须重启 YMP,配置才能生效。

四、影响版本说明

这个问题在 YMP 23.2.1.100 版本搭配 YashanDB 23.2.1.1000 时较容易出现,尤其是在使用最小硬件规格环境进行测试或验证的场景下。

五、小结建议

如果你在 YMP 使用过程中遇到 YAS-04204 类似的并发度错误,优先排查目标数据库 CPU 配置,再根据实际情况调整 YMP 的并发参数。对于小规格环境,建议适当降低并发度,以避免迁移中断,提升整体稳定性。


数据库砖家
1 声望0 粉丝