summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2013-01-25 20:25:12 +0100
committerAndrew Branson <andrew.branson@cern.ch>2013-01-25 20:25:12 +0100
commitefc892720203b5f4e574d736ea1bd68e0e8ba6c7 (patch)
tree70cc7345625ab896694165b1d0b6403757311a46
parent6113dd5d5614c3845e93f116809ec08f9551f182 (diff)
Fix unsynchronized gap between check and retrieve of memcache object.
-rw-r--r--src/main/java/com/c2kernel/persistency/ClusterStorageManager.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/main/java/com/c2kernel/persistency/ClusterStorageManager.java b/src/main/java/com/c2kernel/persistency/ClusterStorageManager.java
index c49b41f..bb5f90f 100644
--- a/src/main/java/com/c2kernel/persistency/ClusterStorageManager.java
+++ b/src/main/java/com/c2kernel/persistency/ClusterStorageManager.java
@@ -162,8 +162,8 @@ public class ClusterStorageManager {
C2KLocalObject result = null;
// check cache first
NonStrongRefCache<String, C2KLocalObject> sysKeyMemCache = null;
- if (memoryCache.containsKey(sysKeyIntObj)) {
- sysKeyMemCache = memoryCache.get(sysKeyIntObj);
+ sysKeyMemCache = memoryCache.get(sysKeyIntObj);
+ if (sysKeyMemCache != null) {
synchronized(sysKeyMemCache) {
C2KLocalObject obj = sysKeyMemCache.get(path);
if (obj != null) {