[
https://issues.apache.org/jira/browse/CURATOR-329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15298192#comment-15298192
]
ASF GitHub Bot commented on CURATOR-329:
----------------------------------------
GitHub user ARascius opened a pull request:
https://github.com/apache/curator/pull/153
CURATOR-329 - SharedValue does not update to current value if zookeeper
node version is 0
Fixed SharedValue class to correctly update its value on start() call to
value stored in Zookeeper node if node version is zero.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/ARascius/curator CURATOR-329
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/curator/pull/153.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #153
----
commit f12f35d0f78198e1f9f89a8cf3dafc7b07404220
Author: Algirdas Rascius <[email protected]>
Date: 2016-05-24T13:45:45Z
Fixed CURATOR-329 - SharedValue.start() method does not update to current
value if version of value currently stored in zookeeper is 0
----
> 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)