[
https://issues.apache.org/jira/browse/ZOOKEEPER-2384?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15188132#comment-15188132
]
Flavio Junqueira commented on ZOOKEEPER-2384:
---------------------------------------------
What I suggested isn't particularly hard to do, but it can be inefficient in
the presence of contention. If there are many clients trying to do that, then
they can keep stepping on each other and causing the conditional write to fail.
> Support atomic increment / decrement of znode value
> ---------------------------------------------------
>
> Key: ZOOKEEPER-2384
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2384
> Project: ZooKeeper
> Issue Type: Improvement
> Reporter: Ted Yu
>
> Use case is to store reference count (integer type) in znode.
> It is desirable to provide support for atomic increment / decrement of the
> znode value.
> Suggestion from Flavio:
> you can read the znode, keep the version of the znode, update the value,
> write back conditionally. The condition for the setData operation to succeed
> is that the version is the same that it read
> While the above is feasible, developer has to implement retry logic
> him/herself. It is not easy to combine increment / decrement with other
> operations using multi.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)