Mat*_*ght 5 java apache-zookeeper
在ZooKeeper中执行一个简单的create()方法调用似乎是递增两个而不是正常的.虽然这实际上与JavaDoc保持一致,而JavaDoc仅指定序列"单调增加"而不参考增量,但我不确定为什么这已经开始发生.
zk.create(path, value, Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT_SEQUENTIAL);
Run Code Online (Sandbox Code Playgroud)
我最终得到了"key-v-0000000056",然后是"key-v-0000000058"...... 57在哪里?
创建或删除任何子 znode会增加父znode的cversion.因为在看起来你正在使用的ZooKeeper 3.3.3中,用于顺序znode创建的计数器本身就是cversion,两个连续创建之间的任何"虚假"创建/删除都是你遇到的行为的最可能原因.
请记住,在ZooKeeper 3.4.x中,删除不再影响父序列计数器:a DataNode内部保存一个PersistedStatcversion,其中cversion完全代表创建的数量; 相反,Stat通过查询节点获得的结果仍然代表了儿童变化的数量:Stat.cversion = 2*PersistedStat.cversion - Stat.numChildren.
| 归档时间: |
|
| 查看次数: |
1605 次 |
| 最近记录: |