Committed by
Gerrit Code Review
Fix bug that exception is thrown when key doesn't exist
Change-Id: Ic107b82202f64fb81709310b5e9a705c7e66d542
Showing
1 changed file
with
4 additions
and
2 deletions
| ... | @@ -294,7 +294,8 @@ public class ConsistentResourceStore extends AbstractStore<ResourceEvent, Resour | ... | @@ -294,7 +294,8 @@ public class ConsistentResourceStore extends AbstractStore<ResourceEvent, Resour |
| 294 | private <K, V> boolean appendValues(TransactionalMap<K, List<V>> map, K key, List<V> values) { | 294 | private <K, V> boolean appendValues(TransactionalMap<K, List<V>> map, K key, List<V> values) { |
| 295 | List<V> oldValues = map.get(key); | 295 | List<V> oldValues = map.get(key); |
| 296 | if (oldValues == null) { | 296 | if (oldValues == null) { |
| 297 | - return map.replace(key, oldValues, new ArrayList<>(values)); | 297 | + map.put(key, new ArrayList<>(values)); |
| 298 | + return true; | ||
| 298 | } | 299 | } |
| 299 | 300 | ||
| 300 | LinkedHashSet<V> oldSet = new LinkedHashSet<>(oldValues); | 301 | LinkedHashSet<V> oldSet = new LinkedHashSet<>(oldValues); |
| ... | @@ -321,7 +322,8 @@ public class ConsistentResourceStore extends AbstractStore<ResourceEvent, Resour | ... | @@ -321,7 +322,8 @@ public class ConsistentResourceStore extends AbstractStore<ResourceEvent, Resour |
| 321 | private <K, V> boolean removeValues(TransactionalMap<K, List<V>> map, K key, List<V> values) { | 322 | private <K, V> boolean removeValues(TransactionalMap<K, List<V>> map, K key, List<V> values) { |
| 322 | List<V> oldValues = map.get(key); | 323 | List<V> oldValues = map.get(key); |
| 323 | if (oldValues == null) { | 324 | if (oldValues == null) { |
| 324 | - return map.replace(key, oldValues, new ArrayList<>()); | 325 | + map.put(key, new ArrayList<>()); |
| 326 | + return true; | ||
| 325 | } | 327 | } |
| 326 | 328 | ||
| 327 | LinkedHashSet<V> oldSet = new LinkedHashSet<>(oldValues); | 329 | LinkedHashSet<V> oldSet = new LinkedHashSet<>(oldValues); | ... | ... |
-
Please register or login to post a comment