Aerospike 迁移中止
Aerospike migration aborted
我们尝试更新 aerospike 版本,但遇到了一个奇怪的问题。
我们有 3 个节点的集群版本 3.5.4 和复制因子 2。
我们决定更新到 3.8.2.3,所以我们在新服务器上安装了新版本,并在集群上 添加了 个新节点,迁移后我们 删除了 旧节点。一切都很完美。
我们决定重复我们的算法。
我们向集群添加了一个新节点,发现 迁移失败。我们在日志中发现了很多错误,如下所示。
Jun 06 2016 22:43:26 GMT: WARNING (partition): (partition.c::2221) {namespace:3368} migrate rx aborted. During migrate receive start, duplicate partition contains primary version
此外,我们看到副本对象的数量少于,例如:
我们的迁移配置
那么,我们该如何解决这个问题?
我从您的输出中看到没有任何正在进行的迁移。并且副本计数与主计数不匹配。
在 3.7.0.1 之前,前一轮迁移可能会干扰后续轮次。我怀疑这就是这里发生的事情。我建议您继续升级并暂时忽略这些问题。如果完成后计数仍然不匹配,您将需要强制分区重新同步。
要强制分区重新同步,请发出以下命令。
asadm -h [NODE IP] -e "cluster dun all";
sleep 10;
asadm -h [NODE IP] -e "cluster undun all";
这将导致所有分区版本发生分歧并重新同步。
我们尝试更新 aerospike 版本,但遇到了一个奇怪的问题。 我们有 3 个节点的集群版本 3.5.4 和复制因子 2。
我们决定更新到 3.8.2.3,所以我们在新服务器上安装了新版本,并在集群上 添加了 个新节点,迁移后我们 删除了 旧节点。一切都很完美。
我们决定重复我们的算法。 我们向集群添加了一个新节点,发现 迁移失败。我们在日志中发现了很多错误,如下所示。
Jun 06 2016 22:43:26 GMT: WARNING (partition): (partition.c::2221) {namespace:3368} migrate rx aborted. During migrate receive start, duplicate partition contains primary version
此外,我们看到副本对象的数量少于,例如:
我们的迁移配置
那么,我们该如何解决这个问题?
我从您的输出中看到没有任何正在进行的迁移。并且副本计数与主计数不匹配。
在 3.7.0.1 之前,前一轮迁移可能会干扰后续轮次。我怀疑这就是这里发生的事情。我建议您继续升级并暂时忽略这些问题。如果完成后计数仍然不匹配,您将需要强制分区重新同步。
要强制分区重新同步,请发出以下命令。
asadm -h [NODE IP] -e "cluster dun all";
sleep 10;
asadm -h [NODE IP] -e "cluster undun all";
这将导致所有分区版本发生分歧并重新同步。