commit | ae2d0d7604e76974639427c7420fc32ab47dd55e | [log] [tgz] |
---|---|---|
author | Madan Jampani <madan@onlab.us> | Tue Jul 21 16:42:59 2015 -0700 |
committer | Gerrit Code Review <gerrit@onlab.us> | Tue Jul 21 23:51:55 2015 +0000 |
tree | b28fa2cfa8ee12363ab72b51e7fb94faf4ffb12b | |
parent | 8d03367801040651cb4d085ecf07811547c0083f [diff] |
Fix ConsistentMap.putIfAbsent logic Change-Id: Id3dcd6558a2c0a3db2055966a8610cc9f2d1cf7f
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAsyncConsistentMap.java b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAsyncConsistentMap.java index cdd809c..f42857f 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAsyncConsistentMap.java +++ b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAsyncConsistentMap.java
@@ -277,7 +277,7 @@ public CompletableFuture<Versioned<V>> putIfAbsent(K key, V value) { checkNotNull(key, ERROR_NULL_KEY); checkNotNull(value, ERROR_NULL_VALUE); - return computeIfAbsent(key, k -> value); + return updateAndGet(key, Match.ifNull(), Match.any(), value).thenApply(v -> v.oldValue()); } @Override