我们尝试更新了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
此外,我们看到副本对象的数量 比原始对象少,例如:
我们的迁移配置
那么,我们如何解决问题?
答案 0 :(得分:2)
我从您的输出中看到,没有任何正在进行的迁移。并且副本计数与主要计数不匹配。
在3.7.0.1之前的前一轮迁移可能会影响后续轮次。我怀疑这就是这里发生的事情。我建议您暂时继续升级并忽略这些问题。如果完成后计数仍然不匹配,则需要强制分区重新同步。
要强制分区重新同步,请发出以下命令。
asadm -h [NODE IP] -e "cluster dun all";
sleep 10;
asadm -h [NODE IP] -e "cluster undun all";
这将导致所有分区版本发散并重新同步。