[ 
https://issues.apache.org/jira/browse/CURATOR-151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14158873#comment-14158873
 ] 

ASF GitHub Bot commented on CURATOR-151:
----------------------------------------

Github user dragonsinth commented on a diff in the pull request:

    https://github.com/apache/curator/pull/47#discussion_r18426992
  
    --- Diff: 
curator-recipes/src/main/java/org/apache/curator/framework/recipes/shared/SharedValue.java
 ---
    @@ -117,10 +117,8 @@ public void setValue(byte[] newValue) throws Exception
         {
             Preconditions.checkState(state.get() == State.STARTED, "not 
started");
     
    -        VersionedValue<byte[]> localCopy = currentValue.get();
    -        client.setData().forPath(path, newValue);
    -
    -        currentValue.set(new VersionedValue<byte[]>(localCopy.getVersion() 
+ 1, Arrays.copyOf(newValue, newValue.length)));
    +        Stat result = client.setData().forPath(path, newValue);
    +        updateValue(result.getVersion(), Arrays.copyOf(newValue, 
newValue.length));
    --- End diff --
    
    the oldVersion+1 thing seemed a little squirrelly to me


> SharedValue has limited utility but can be improved
> ---------------------------------------------------
>
>                 Key: CURATOR-151
>                 URL: https://issues.apache.org/jira/browse/CURATOR-151
>             Project: Apache Curator
>          Issue Type: Improvement
>          Components: Recipes
>    Affects Versions: 2.6.0
>            Reporter: Jordan Zimmerman
>            Assignee: Jordan Zimmerman
>             Fix For: 2.7.0
>
>
> Currently, SharedValue has limited utility as the internally managed version 
> is always used for trySetValue. A good improvement would be a) add an API to 
> get the current value AND current version and b) add an alternate trySetValue 
> that takes a new value AND an expected version. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to