ZooKeeper顺序节点序号溢出后的行为:后续序号及是否报错
ZooKeeper顺序节点序号溢出的行为说明
根据ZooKeeper的实现逻辑,当顺序节点的序号走到9999999999(10位补零格式的最大值)后,下一次创建的节点序号会溢出回滚到0000000000,不会主动触发错误提示。
原因在于ZooKeeper内部用带符号64位整数维护序号,10位无符号最大值加1后会触发整数溢出,绕回到0,之后继续按10位补零规则生成后缀。
这里需要注意两个关键点:
- 溢出本身不会导致节点创建失败,只有当生成的
[指定路径]0000000000节点已经存在时,才会抛出NodeExistsException异常 - 实际场景中要触发这个溢出需要创建100亿个节点,属于几乎碰不到的极端边缘情况
内容的提问来源于stack exchange,提问作者leibin
相关产品推荐
相关产品推荐

