You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2019/02/27 12:00:46 UTC
svn commit: r1854455 -
/jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/CacheMap.java
Author: reschke
Date: Wed Feb 27 12:00:46 2019
New Revision: 1854455
URL: http://svn.apache.org/viewvc?rev=1854455&view=rev
Log:
OAK-8051: PersistentCache: error during open can lead to incomplete initialization and subsequent NPEs - cleanup trailing whitespace in source code
Modified:
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/CacheMap.java
Modified: jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/CacheMap.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/CacheMap.java?rev=1854455&r1=1854454&r2=1854455&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/CacheMap.java (original)
+++ jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/CacheMap.java Wed Feb 27 12:00:46 2019
@@ -30,9 +30,9 @@ import org.slf4j.LoggerFactory;
* @param <V> the value type
*/
public class CacheMap<K, V> {
-
+
static final Logger LOG = LoggerFactory.getLogger(CacheMap.class);
-
+
private final MapFactory factory;
private final String name;
private final MVMap.Builder<K, V> builder;
@@ -40,14 +40,14 @@ public class CacheMap<K, V> {
private volatile Map<K, V> map;
private volatile boolean closed;
-
+
public CacheMap(MapFactory factory, String name, Builder<K, V> builder) {
this.factory = factory;
this.name = name;
this.builder = builder;
openMap();
}
-
+
private void reopen(int i, Exception e) {
if (i > 10) {
LOG.warn("Too many re-opens; disabling this cache map", e);
@@ -64,7 +64,7 @@ public class CacheMap<K, V> {
}
openMap();
}
-
+
public V put(K key, V value) {
for (int i = 0;; i++) {
if (closed) {
@@ -77,7 +77,7 @@ public class CacheMap<K, V> {
}
}
}
-
+
public V get(Object key) {
for (int i = 0;; i++) {
if (closed) {
@@ -90,7 +90,7 @@ public class CacheMap<K, V> {
}
}
}
-
+
public boolean containsKey(Object key) {
for (int i = 0;; i++) {
if (closed) {
@@ -101,9 +101,9 @@ public class CacheMap<K, V> {
} catch (Exception e) {
reopen(i, e);
}
- }
+ }
}
-
+
public V remove(Object key) {
for (int i = 0;; i++) {
if (closed) {
@@ -114,7 +114,7 @@ public class CacheMap<K, V> {
} catch (Exception e) {
reopen(i, e);
}
- }
+ }
}
public void clear() {
@@ -128,9 +128,9 @@ public class CacheMap<K, V> {
} catch (Exception e) {
reopen(i, e);
}
- }
+ }
}
-
+
void openMap() {
openCount = factory.reopenStoreIfNeeded(openCount);
Map<K, V> m2 = factory.openMap(name, builder);
@@ -138,5 +138,4 @@ public class CacheMap<K, V> {
map = m2;
}
}
-
}