[
https://issues.apache.org/jira/browse/CURATOR-329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15299098#comment-15299098
]
ASF GitHub Bot commented on CURATOR-329:
----------------------------------------
Github user asfgit closed the pull request at:
https://github.com/apache/curator/pull/153
> SharedValue.start() method does not update to current value if version of
> value currently stored in zookeeper is 0 (zero)
> -------------------------------------------------------------------------------------------------------------------------
>
> Key: CURATOR-329
> URL: https://issues.apache.org/jira/browse/CURATOR-329
> Project: Apache Curator
> Issue Type: Bug
> Components: Recipes
> Affects Versions: 2.10.0
> Reporter: Algirdas Rascius
> Priority: Blocker
>
> When zookeeper node stores value with version 0 and SharedCount instance is
> created and started for this node, getCount() method returns seedValue passed
> to SharedCount constructor instead of actual value stored in zookeeper node.
> This only happens when zookeeper node version is 0 (zero).
> For example:
> {code}
> // Node /count does not exists before the test
> SharedCount count1 = new SharedCount(client, "/count", 10);
> SharedCount count2 = new SharedCount(client, "/count", 20);
> count1.start();
> count2.start();
> Assert.assertEquals(count1.getCount(), 10);
> Assert.assertEquals(count2.getCount(), 10); // Should return 10, but returns
> 20 instead
> {code}
> Issue arrises because when constructed class SharedValue initializes instance
> variable currentValue with version 0 and does not update value in
> updateValue(..) method if version returned by zookeeper is 0.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)