Algirdas Rascius created CURATOR-329:
----------------------------------------
Summary: 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)