Hexiaoqiao commented on code in PR #478:
URL: https://github.com/apache/curator/pull/478#discussion_r1311553460


##########
curator-recipes/src/main/java/org/apache/curator/framework/recipes/shared/SharedValue.java:
##########
@@ -196,7 +196,7 @@ public boolean trySetValue(VersionedValue<byte[]> previous, 
byte[] newValue) thr
     private void updateValue(int version, byte[] bytes) {
         while (true) {
             VersionedValue<byte[]> current = currentValue.get();
-            if (current.getVersion() >= version) {
+            if (current.getVersion() >= version && version != 
Integer.MIN_VALUE) {

Review Comment:
   One corner case when review code back, if the version overflow at server 
side and it is negative value such as -100 now, then restart application and 
`currentValue` will be initialized at curator side, and the version number will 
be set to UNINITIALIZED_VERSION which is -1 now. Then SharedCount will never be 
updated because `current.getVersion() >= version && version != 
Integer.MIN_VALUE` always true now.
   cc @kezhuw @eolivelli What do you think about?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@curator.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to