forceStepUp - 强制将备节点升级为主节点
db.forceStepUp([options])
Sdb
该函数用于在一个不具备选举条件的复制组中,将备节点强制升级为主节点。升级前需确保目标节点 LSN 为组内最大值。如果将 LSN 较小的节点强制升主,将导致数据回滚。用户可通过节点健康检测快照获取节点 LSN 信息。
options( object,选填 )
通过参数 options 可以指定主节点的持续时间:
Seconds( number ):强制升级为主节点的持续时间,单位为秒,默认值为 120
当超过指定时间,复制组内将按选举规则重新选主。
格式:Seconds: 300
WaitSeconds( number ):平滑升主的等待时间,单位为秒,默认值为 0
当该数据组存在主节点,需要开启平滑升主等待时间,等待原主节点降备,本节点升主,效果等同 reelect。
格式:WaitSeconds: 30
Enforced( boolean ):是否强制升主,默认值为 false
当该节点不满足升主条件(存在主节点、本节点 LSN 不是最大、平滑升主超时)是否强制升主。
格式:Enforced: true
函数执行成功时,无返回值。
函数执行失败时,将抛异常并输出错误信息。
当异常抛出时,可以通过 getLastErrMsg() 获取错误信息或通过 getLastError() 获取错误码。更多错误处理可以参考常见错误处理指南。
v3.4 及以上版本
连接编目节点 11800
> var cata = new Sdb("localhost", 11800)
Note:
如果无法连接编目节点,需要将节点参数 auth 配置为 false,配置方式可参考参数配置。
将编目节点 11800 强制升为主节点,并指定持续时间为 300 秒
> cata.forceStepUp({Seconds: 300})