CLUSTER SET-CONFIG-EPOCH

用法
CLUSTER SET-CONFIG-EPOCH config-epoch
复杂度
O(1)
始于
3.0.0
ACL 类别
@admin, @dangerous, @slow

此命令用于在新节点中设置特定的 config epoch。它仅在以下情况生效:

  1. 节点的节点表为空。
  2. 节点的当前 config epoch 为零。

需要这些先决条件,因为通常手动更改节点的配置纪元(configuration epoch)是不安全的,我们希望确保具有更高配置纪元值(即最后一次故障转移的节点)的节点在争夺哈希槽所有权时能够优先于其他节点。

然而,这条规则有一个例外,那就是从头开始创建一个新集群时。Valkey 集群的 config epoch 冲突解决算法可以处理所有新节点在启动时配置相同的状况,但这个过程很慢,应该作为例外情况,只是为了确保无论发生什么,最终总会有两个或更多节点脱离拥有相同配置纪元的状态。

因此,在使用 CLUSTER SET-CONFIG-EPOCH 创建新集群时,我们可以在将节点加入集群之前,为每个节点分配一个不同的递进配置纪元。

RESP2/RESP3 回复

简单字符串回复:如果命令成功,返回 OK。否则返回错误。