这个错误出现在对 Confluence 进行数据库切换的时候。
一切都非常正常,但是在启动的时候提示有错误:
Fatal error in Confluence cluster: Database is being updated by an instance which is not part of the current cluster.
You should check network connections between cluster nodes, especially multicast traffice
根据官方的说法,这个错误是因为有 2 个 Confluence 实例连接到了 Confluence 数据库上。
Confluence 有一个 CLUSTERSAFETY 表在数据库中用于检查集群和连接的状态。
我们的数据库切换步骤是,Confluence 实例不停运行,将数据库 dump 出来后,直接恢复,然后修改 DNS 指向新的数据库。
这个时候,你可能会遇到上面的错误,导致Confluence 无法启动,也无法恢复。
正确的办法,是在 Confluence 进行数据库切换的时候,停止 Confluence 的进程。断开 Confluence 的所有连接。
将 Confluence 的老数据库备份到新数据库中。
然后修改 Confluence 的数据库指向或者 DNS
重新启动 Confluence,上面的错误就没有了。
请注意,这个过程非常重要,在 Confluence 对数据库进行切换的时候,一定要停止 Confluence 实例。