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 da...@apache.org on 2024/10/13 11:53:52 UTC
(jackrabbit-oak) branch OAK-11189 created (now e3003ad0c1)
This is an automated email from the ASF dual-hosted git repository.
daim pushed a change to branch OAK-11189
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
at e3003ad0c1 OAK-11189 : removed usage of Maps.newConcurrentMap()
This branch includes the following new commits:
new e3003ad0c1 OAK-11189 : removed usage of Maps.newConcurrentMap()
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(jackrabbit-oak) 01/01: OAK-11189 : removed usage of Maps.newConcurrentMap()
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
daim pushed a commit to branch OAK-11189
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit e3003ad0c11dd93728aa1552e5c5a5914bb3b5a3
Author: Rishabh Kumar <di...@adobe.com>
AuthorDate: Sun Oct 13 17:23:39 2024 +0530
OAK-11189 : removed usage of Maps.newConcurrentMap()
---
.../principalbased/impl/FilterProviderImpl.java | 6 +++---
.../oak/scalability/suites/ScalabilityAbstractSuite.java | 4 ++--
.../jackrabbit/oak/plugins/blob/UploadStagingCache.java | 6 +++---
.../jackrabbit/oak/plugins/cow/BranchNodeStore.java | 4 ++--
.../oak/plugins/index/TrackingCorruptIndexHandler.java | 3 ++-
.../oak/plugins/metric/MetricStatisticsProvider.java | 4 ++--
.../apache/jackrabbit/oak/plugins/name/Namespaces.java | 4 ++--
.../jcr/observation/ConsolidatedListenerMBeanImpl.java | 10 +++++-----
.../jackrabbit/oak/jcr/AbstractRepositoryTest.java | 5 ++---
.../org/apache/jackrabbit/oak/jcr/ValidNamesTest.java | 5 ++---
.../jackrabbit/oak/plugins/index/lucene/IndexCopier.java | 6 ++----
.../index/lucene/directory/CopyOnReadDirectory.java | 5 ++---
.../index/lucene/directory/CopyOnWriteDirectory.java | 4 ++--
.../jackrabbit/oak/plugins/tika/TextExtractorTest.java | 4 ++--
.../oak/plugins/index/search/BadIndexTracker.java | 6 +++---
.../jackrabbit/oak/segment/SegmentBufferWriterPool.java | 4 ++--
.../jackrabbit/oak/segment/WriterCacheManager.java | 4 ++--
.../jackrabbit/oak/segment/memory/MemoryStore.java | 6 ++----
.../oak/segment/SegmentBufferWriterPoolTest.java | 16 ++++++++--------
.../oak/plugins/document/DocumentNodeStore.java | 6 +++---
.../jackrabbit/oak/plugins/document/JournalEntry.java | 3 ++-
.../plugins/document/persistentCache/CacheMetadata.java | 4 ++--
.../oak/plugins/document/CacheConsistencyRDBTest.java | 5 ++---
.../oak/plugins/document/CacheConsistencyTest.java | 4 ++--
.../oak/upgrade/blob/LengthCachingDataStore.java | 3 ++-
25 files changed, 63 insertions(+), 68 deletions(-)
diff --git a/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/FilterProviderImpl.java b/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/FilterProviderImpl.java
index df82a5f149..78b159a63a 100644
--- a/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/FilterProviderImpl.java
+++ b/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/FilterProviderImpl.java
@@ -17,7 +17,6 @@
package org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl;
import org.apache.jackrabbit.guava.common.base.Strings;
-import org.apache.jackrabbit.guava.common.collect.Maps;
import org.apache.jackrabbit.api.security.principal.ItemBasedPrincipal;
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.commons.PathUtils;
@@ -46,6 +45,7 @@ import java.security.Principal;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import static org.apache.jackrabbit.guava.common.base.Preconditions.checkState;
@@ -74,8 +74,8 @@ public class FilterProviderImpl implements FilterProvider {
private String oakPath;
- private final Map<String, String> validatedPrincipalNamesPathMap = Maps.newConcurrentMap();
- private final Map<String, String> unsupportedPrincipalNames = Maps.newConcurrentMap();
+ private final Map<String, String> validatedPrincipalNamesPathMap = new ConcurrentHashMap<>();
+ private final Map<String, String> unsupportedPrincipalNames = new ConcurrentHashMap<>();
/**
* Constructor to use outside OSGi containers
diff --git a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityAbstractSuite.java b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityAbstractSuite.java
index 4f9f0d0d37..20e490657e 100644
--- a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityAbstractSuite.java
+++ b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityAbstractSuite.java
@@ -19,7 +19,6 @@
package org.apache.jackrabbit.oak.scalability.suites;
import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
-import static org.apache.jackrabbit.guava.common.collect.Maps.newConcurrentMap;
import static org.apache.jackrabbit.guava.common.collect.Maps.newLinkedHashMap;
import java.io.PrintStream;
@@ -28,6 +27,7 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Random;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
@@ -514,7 +514,7 @@ public abstract class ScalabilityAbstractSuite implements ScalabilitySuite, CSVR
public static class ExecutionContext {
private Profiler profiler;
private final AtomicLong iteration = new AtomicLong();
- private Map<Object, Object> map = newConcurrentMap();
+ private Map<Object, Object> map = new ConcurrentHashMap<>();
protected void setIncrement(int increment) {
iteration.getAndSet(increment);
diff --git a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/UploadStagingCache.java b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/UploadStagingCache.java
index f60fffca88..6829413899 100644
--- a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/UploadStagingCache.java
+++ b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/UploadStagingCache.java
@@ -27,6 +27,7 @@ import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Optional;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.Executors;
import java.util.concurrent.LinkedBlockingQueue;
@@ -38,7 +39,6 @@ import java.util.stream.Stream;
import org.apache.jackrabbit.guava.common.cache.Weigher;
import org.apache.jackrabbit.guava.common.collect.Lists;
-import org.apache.jackrabbit.guava.common.collect.Maps;
import org.apache.jackrabbit.guava.common.io.Files;
import org.apache.jackrabbit.guava.common.util.concurrent.FutureCallback;
import org.apache.jackrabbit.guava.common.util.concurrent.Futures;
@@ -171,8 +171,8 @@ public class UploadStagingCache implements Closeable {
.newScheduledThreadPool(2, new NamedThreadFactory("oak-ds-cache-scheduled-thread"));
}
- this.map = Maps.newConcurrentMap();
- this.attic = Maps.newConcurrentMap();
+ this.map = new ConcurrentHashMap<>();
+ this.attic = new ConcurrentHashMap<>();
this.retryQueue = new LinkedBlockingQueue<>();
this.uploadCacheSpace = new File(dir, "upload");
this.uploader = uploader;
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/cow/BranchNodeStore.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/cow/BranchNodeStore.java
index 75976e911a..f5fbb5b694 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/cow/BranchNodeStore.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/cow/BranchNodeStore.java
@@ -35,9 +35,9 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
-import static org.apache.jackrabbit.guava.common.collect.Maps.newConcurrentMap;
import static java.util.Collections.emptyMap;
import static java.util.Collections.singletonMap;
@@ -57,7 +57,7 @@ public class BranchNodeStore implements NodeStore, Observable {
public BranchNodeStore(NodeStore nodeStore) throws CommitFailedException {
this.nodeStore = nodeStore;
this.inheritedCheckpoints = newArrayList(nodeStore.checkpoints());
- this.checkpointMapping = newConcurrentMap();
+ this.checkpointMapping = new ConcurrentHashMap<>();
String cp = nodeStore.checkpoint(CHECKPOINT_LIFETIME, singletonMap("type", "copy-on-write"));
memoryNodeStore = new MemoryNodeStore(nodeStore.retrieve(cp));
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/TrackingCorruptIndexHandler.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/TrackingCorruptIndexHandler.java
index 8666afd4d4..5bb659e50e 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/TrackingCorruptIndexHandler.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/TrackingCorruptIndexHandler.java
@@ -23,6 +23,7 @@ import java.util.Calendar;
import java.util.Collections;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
import javax.management.openmbean.CompositeDataSupport;
@@ -54,7 +55,7 @@ public class TrackingCorruptIndexHandler implements CorruptIndexHandler {
private long errorWarnIntervalMillis = TimeUnit.MINUTES.toMillis(15);
private long indexerCycleCount;
private long corruptIntervalMillis = TimeUnit.MINUTES.toMillis(30);
- private final Map<String, CorruptIndexInfo> indexes = Maps.newConcurrentMap();
+ private final Map<String, CorruptIndexInfo> indexes = new ConcurrentHashMap<>();
private MeterStats meter;
void setMeterStats(MeterStats meter) {
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/MetricStatisticsProvider.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/MetricStatisticsProvider.java
index 2a718b3728..0f9bc631a2 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/MetricStatisticsProvider.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/MetricStatisticsProvider.java
@@ -21,6 +21,7 @@ package org.apache.jackrabbit.oak.plugins.metric;
import java.io.Closeable;
import java.util.Hashtable;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
@@ -36,7 +37,6 @@ import com.codahale.metrics.MetricRegistry;
import com.codahale.metrics.ObjectNameFactory;
import com.codahale.metrics.RatioGauge;
import com.codahale.metrics.Timer;
-import org.apache.jackrabbit.guava.common.collect.Maps;
import org.apache.jackrabbit.api.stats.RepositoryStatistics;
import org.apache.jackrabbit.api.stats.RepositoryStatistics.Type;
import org.apache.jackrabbit.oak.commons.jmx.JmxUtil;
@@ -59,7 +59,7 @@ public class MetricStatisticsProvider implements StatisticsProvider, Closeable {
private static final String JMX_TYPE_METRICS = "Metrics";
- private final ConcurrentMap<String, Stats> statsRegistry = Maps.newConcurrentMap();
+ private final ConcurrentMap<String, Stats> statsRegistry = new ConcurrentHashMap<>();
private final MetricRegistry registry;
private final JmxReporter reporter;
private final RepositoryStatisticsImpl repoStats;
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/Namespaces.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/Namespaces.java
index 631528d0bb..967c9203f1 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/Namespaces.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/Namespaces.java
@@ -20,6 +20,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Tree;
@@ -30,7 +31,6 @@ import org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import static org.apache.jackrabbit.guava.common.base.Preconditions.checkState;
-import static org.apache.jackrabbit.guava.common.collect.Maps.newConcurrentMap;
import static javax.jcr.NamespaceRegistry.NAMESPACE_JCR;
import static javax.jcr.NamespaceRegistry.NAMESPACE_MIX;
@@ -54,7 +54,7 @@ public class Namespaces implements NamespaceConstants {
/**
* Global cache of encoded URIs.
*/
- private static final Map<String, String> ENCODED_URIS = newConcurrentMap();
+ private static final Map<String, String> ENCODED_URIS = new ConcurrentHashMap<>();
/**
* By default, item names with non space whitespace chars are not allowed.
diff --git a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ConsolidatedListenerMBeanImpl.java b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ConsolidatedListenerMBeanImpl.java
index a357c99c15..814ee2621b 100644
--- a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ConsolidatedListenerMBeanImpl.java
+++ b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ConsolidatedListenerMBeanImpl.java
@@ -26,6 +26,7 @@ import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
import javax.management.MalformedObjectNameException;
@@ -41,7 +42,6 @@ import javax.management.openmbean.TabularDataSupport;
import javax.management.openmbean.TabularType;
import org.apache.jackrabbit.guava.common.collect.Lists;
-import org.apache.jackrabbit.guava.common.collect.Maps;
import org.apache.jackrabbit.guava.common.primitives.Longs;
import org.osgi.service.component.annotations.Activate;
@@ -102,10 +102,10 @@ import static org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.registerM
}, service = {})
public class ConsolidatedListenerMBeanImpl implements ConsolidatedListenerMBean {
private final AtomicInteger observerCount = new AtomicInteger();
- private final Map<ObjectName, EventListenerMBean> eventListeners = Maps.newConcurrentMap();
- private final Map<ObjectName, BackgroundObserverMBean> bgObservers = Maps.newConcurrentMap();
- private final Map<ObjectName, ChangeProcessorMBean> changeProcessors = Maps.newConcurrentMap();
- private final Map<ObjectName, FilterConfigMBean> filterConfigs = Maps.newConcurrentMap();
+ private final Map<ObjectName, EventListenerMBean> eventListeners = new ConcurrentHashMap<>();
+ private final Map<ObjectName, BackgroundObserverMBean> bgObservers = new ConcurrentHashMap<>();
+ private final Map<ObjectName, ChangeProcessorMBean> changeProcessors = new ConcurrentHashMap<>();
+ private final Map<ObjectName, FilterConfigMBean> filterConfigs = new ConcurrentHashMap<>();
private Registration mbeanReg;
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AbstractRepositoryTest.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AbstractRepositoryTest.java
index 9df435b367..647c2dc5ec 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AbstractRepositoryTest.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AbstractRepositoryTest.java
@@ -20,6 +20,7 @@ import static org.junit.Assume.assumeTrue;
import java.util.Collection;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import javax.jcr.GuestCredentials;
import javax.jcr.Repository;
import javax.jcr.RepositoryException;
@@ -46,8 +47,6 @@ import org.junit.Ignore;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
-import org.apache.jackrabbit.guava.common.collect.Maps;
-
/**
* Abstract base class for repository tests providing methods for accessing
* the repository, a session and nodes and properties from that session.
@@ -78,7 +77,7 @@ public abstract class AbstractRepositoryTest {
* If reuseNodeStore is on, this caches the NodeStore returned by each fixture
* and they'll be disposed only in @AfterClass instead of @After.
*/
- private static final Map<NodeStoreFixture, NodeStore> NODE_STORES = Maps.newConcurrentMap();
+ private static final Map<NodeStoreFixture, NodeStore> NODE_STORES = new ConcurrentHashMap<>();
/**
* Default fixtures based on a list in the system property `nsfixtures`.
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ValidNamesTest.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ValidNamesTest.java
index a2c201943a..c98d6e062a 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ValidNamesTest.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ValidNamesTest.java
@@ -23,6 +23,7 @@ import static org.junit.Assert.fail;
import java.util.Map;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import javax.jcr.ItemExistsException;
import javax.jcr.NamespaceException;
@@ -44,8 +45,6 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
-import org.apache.jackrabbit.guava.common.collect.Maps;
-
public class ValidNamesTest extends AbstractRepositoryTest {
@Rule
@@ -53,7 +52,7 @@ public class ValidNamesTest extends AbstractRepositoryTest {
private static final String TEST_NODE = "test_node";
private static final String TEST_PATH = '/' + TEST_NODE;
- private static final Map<NodeStoreFixture, NodeStore> STORES = Maps.newConcurrentMap();
+ private static final Map<NodeStoreFixture, NodeStore> STORES = new ConcurrentHashMap<>();
private Repository repo;
private Session session;
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopier.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopier.java
index 4d0d874ce8..3c45696e45 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopier.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopier.java
@@ -40,7 +40,6 @@ import javax.management.openmbean.TabularData;
import javax.management.openmbean.TabularDataSupport;
import javax.management.openmbean.TabularType;
-import org.apache.jackrabbit.guava.common.collect.ImmutableSet;
import org.apache.jackrabbit.guava.common.collect.Sets;
import org.apache.jackrabbit.guava.common.util.concurrent.Monitor;
import org.apache.commons.io.FileUtils;
@@ -63,7 +62,6 @@ import org.slf4j.LoggerFactory;
import static org.apache.jackrabbit.guava.common.base.Preconditions.checkState;
import static org.apache.jackrabbit.guava.common.collect.Iterables.toArray;
import static org.apache.jackrabbit.guava.common.collect.Iterables.transform;
-import static org.apache.jackrabbit.guava.common.collect.Maps.newConcurrentMap;
import static org.apache.jackrabbit.oak.commons.IOUtils.humanReadableByteCount;
/**
@@ -100,8 +98,8 @@ public class IndexCopier implements CopyOnReadStatsMBean, Closeable {
private final Monitor copyCompletionMonitor = new Monitor();
- private final Map<String, String> indexPathVersionMapping = newConcurrentMap();
- private final ConcurrentMap<String, LocalIndexFile> failedToDeleteFiles = newConcurrentMap();
+ private final Map<String, String> indexPathVersionMapping = new ConcurrentHashMap<>();
+ private final ConcurrentMap<String, LocalIndexFile> failedToDeleteFiles = new ConcurrentHashMap<>();
private final Set<LocalIndexFile> copyInProgressFiles = Collections.newSetFromMap(new ConcurrentHashMap<LocalIndexFile, Boolean>());
private final boolean prefetchEnabled;
private volatile boolean closed;
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnReadDirectory.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnReadDirectory.java
index f532dbfe04..9fa5a23635 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnReadDirectory.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnReadDirectory.java
@@ -26,6 +26,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.Executor;
import java.util.concurrent.TimeUnit;
@@ -34,7 +35,6 @@ import java.util.stream.Collectors;
import org.apache.jackrabbit.guava.common.collect.ImmutableSet;
import org.apache.jackrabbit.guava.common.collect.Lists;
-import org.apache.jackrabbit.guava.common.collect.Sets;
import org.apache.jackrabbit.oak.commons.PerfLogger;
import org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier;
import org.apache.lucene.store.Directory;
@@ -45,7 +45,6 @@ import org.apache.lucene.store.IndexOutput;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import static org.apache.jackrabbit.guava.common.collect.Maps.newConcurrentMap;
import static java.util.Arrays.stream;
import static org.apache.jackrabbit.oak.commons.IOUtils.humanReadableByteCount;
@@ -73,7 +72,7 @@ public class CopyOnReadDirectory extends FilterDirectory {
long waitOtherCopyTimeoutMillis = Long.getLong(WAIT_OTHER_COPY_SYSPROP_NAME, TimeUnit.SECONDS.toMillis(30));
- private final ConcurrentMap<String, CORFileReference> files = newConcurrentMap();
+ private final ConcurrentMap<String, CORFileReference> files = new ConcurrentHashMap<>();
public CopyOnReadDirectory(IndexCopier indexCopier, Directory remote, Directory local, boolean prefetch,
String indexPath, Executor executor) throws IOException {
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnWriteDirectory.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnWriteDirectory.java
index 262a3c6fa9..1b1938436b 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnWriteDirectory.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnWriteDirectory.java
@@ -28,6 +28,7 @@ import java.util.Objects;
import java.util.Set;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Executor;
@@ -52,7 +53,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static org.apache.jackrabbit.guava.common.base.Preconditions.checkArgument;
-import static org.apache.jackrabbit.guava.common.collect.Maps.newConcurrentMap;
import static org.apache.jackrabbit.oak.commons.IOUtils.humanReadableByteCount;
public class CopyOnWriteDirectory extends FilterDirectory {
@@ -71,7 +71,7 @@ public class CopyOnWriteDirectory extends FilterDirectory {
private final Directory remote;
private final Directory local;
private final Executor executor;
- private final ConcurrentMap<String, COWFileReference> fileMap = newConcurrentMap();
+ private final ConcurrentMap<String, COWFileReference> fileMap = new ConcurrentHashMap<>();
private final Set<String> deletedFilesLocal = Sets.newConcurrentHashSet();
private final Set<String> skippedFiles = Sets.newConcurrentHashSet();
diff --git a/oak-run/src/test/java/org/apache/jackrabbit/oak/plugins/tika/TextExtractorTest.java b/oak-run/src/test/java/org/apache/jackrabbit/oak/plugins/tika/TextExtractorTest.java
index dc868a757a..0dd640082b 100644
--- a/oak-run/src/test/java/org/apache/jackrabbit/oak/plugins/tika/TextExtractorTest.java
+++ b/oak-run/src/test/java/org/apache/jackrabbit/oak/plugins/tika/TextExtractorTest.java
@@ -22,8 +22,8 @@ package org.apache.jackrabbit.oak.plugins.tika;
import java.io.IOException;
import java.util.List;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
-import org.apache.jackrabbit.guava.common.collect.Maps;
import org.apache.jackrabbit.guava.common.io.ByteSource;
import org.apache.jackrabbit.oak.plugins.blob.datastore.TextWriter;
import org.junit.Test;
@@ -55,7 +55,7 @@ public class TextExtractorTest {
}
private static class MapTextWriter implements TextWriter {
- final Map<String, String> data = Maps.newConcurrentMap();
+ final Map<String, String> data = new ConcurrentHashMap<>();
@Override
public void write(String blobId, String text) throws IOException {
diff --git a/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/BadIndexTracker.java b/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/BadIndexTracker.java
index 808b9ac416..2efd4881cc 100644
--- a/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/BadIndexTracker.java
+++ b/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/BadIndexTracker.java
@@ -21,12 +21,12 @@ package org.apache.jackrabbit.oak.plugins.index.search;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
import org.apache.jackrabbit.guava.common.base.Stopwatch;
import org.apache.jackrabbit.guava.common.base.Throwables;
import org.apache.jackrabbit.guava.common.base.Ticker;
-import org.apache.jackrabbit.guava.common.collect.Maps;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -48,8 +48,8 @@ public class BadIndexTracker {
private static final long DEFAULT_RECHECK_INTERVAL = TimeUnit.MINUTES.toMillis(15);
private final Logger log = LoggerFactory.getLogger(getClass());
- private final Map<String, BadIndexInfo> badIndexesForRead = Maps.newConcurrentMap();
- private final Map<String, BadIndexInfo> badPersistedIndexes = Maps.newConcurrentMap();
+ private final Map<String, BadIndexInfo> badIndexesForRead = new ConcurrentHashMap<>();
+ private final Map<String, BadIndexInfo> badPersistedIndexes = new ConcurrentHashMap<>();
private final long recheckIntervalMillis;
private Ticker ticker = Ticker.systemTicker();
private int indexerCycleCount;
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriterPool.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriterPool.java
index 8c06bbd759..0050b00d96 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriterPool.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriterPool.java
@@ -21,7 +21,6 @@ package org.apache.jackrabbit.oak.segment;
import static java.util.Objects.requireNonNull;
import static org.apache.jackrabbit.guava.common.base.Preconditions.checkState;
import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
-import static org.apache.jackrabbit.guava.common.collect.Maps.newConcurrentMap;
import static java.lang.Thread.currentThread;
@@ -32,6 +31,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
@@ -122,7 +122,7 @@ public abstract class SegmentBufferWriterPool implements WriteOperationHandler {
* Pool of writers. Every thread is assigned a unique writer per GC generation, therefore only requiring
* a concurrent map to synchronize access to them.
*/
- private final ConcurrentMap<Object, SegmentBufferWriter> writers = newConcurrentMap();
+ private final ConcurrentMap<Object, SegmentBufferWriter> writers = new ConcurrentHashMap<>();
public ThreadSpecificSegmentBufferWriterPool(
@NotNull SegmentIdProvider idProvider,
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/WriterCacheManager.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/WriterCacheManager.java
index 1fa0dde3d4..2407a2779a 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/WriterCacheManager.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/WriterCacheManager.java
@@ -21,11 +21,11 @@ package org.apache.jackrabbit.oak.segment;
import static java.util.Objects.requireNonNull;
import static org.apache.jackrabbit.guava.common.base.Suppliers.memoize;
import static org.apache.jackrabbit.guava.common.collect.Iterators.transform;
-import static org.apache.jackrabbit.guava.common.collect.Maps.newConcurrentMap;
import static java.lang.Integer.getInteger;
import static org.apache.jackrabbit.oak.segment.RecordCache.newRecordCache;
import java.util.Iterator;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.function.Predicate;
import java.util.function.Supplier;
@@ -262,7 +262,7 @@ public abstract class WriterCacheManager {
}
private static class Generations<T> implements Iterable<T> {
- private final ConcurrentMap<Integer, Supplier<T>> generations = newConcurrentMap();
+ private final ConcurrentMap<Integer, Supplier<T>> generations = new ConcurrentHashMap<>();
private final Supplier<T> cacheFactory;
Generations(@NotNull Supplier<T> cacheFactory) {
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/memory/MemoryStore.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/memory/MemoryStore.java
index 947de17aa7..74d27bdf0e 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/memory/MemoryStore.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/memory/MemoryStore.java
@@ -22,10 +22,9 @@ import static org.apache.jackrabbit.oak.segment.DefaultSegmentWriterBuilder.defa
import java.io.IOException;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
-import org.apache.jackrabbit.guava.common.collect.Maps;
-
import org.apache.jackrabbit.oak.commons.Buffer;
import org.apache.jackrabbit.oak.segment.CachingSegmentReader;
import org.apache.jackrabbit.oak.segment.Revisions;
@@ -60,8 +59,7 @@ public class MemoryStore implements SegmentStore {
@NotNull
private final SegmentWriter segmentWriter;
- private final ConcurrentMap<SegmentId, Segment> segments =
- Maps.newConcurrentMap();
+ private final ConcurrentMap<SegmentId, Segment> segments = new ConcurrentHashMap<>();
public MemoryStore() throws IOException {
this.tracker = new SegmentTracker(new SegmentIdFactory() {
diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriterPoolTest.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriterPoolTest.java
index 3a520677ec..a894cbf966 100644
--- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriterPoolTest.java
+++ b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriterPoolTest.java
@@ -19,7 +19,6 @@
package org.apache.jackrabbit.oak.segment;
-import static org.apache.jackrabbit.guava.common.collect.Maps.newConcurrentMap;
import static org.apache.jackrabbit.guava.common.collect.Sets.intersection;
import static org.apache.jackrabbit.guava.common.util.concurrent.Uninterruptibles.sleepUninterruptibly;
import static java.util.concurrent.Executors.newSingleThreadExecutor;
@@ -32,6 +31,7 @@ import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
@@ -101,7 +101,7 @@ public class SegmentBufferWriterPoolTest {
@Test
public void testThreadAffinity() throws IOException, ExecutionException, InterruptedException {
GCGeneration gen = pool.getGCGeneration();
- ConcurrentMap<String, SegmentBufferWriter> map1 = newConcurrentMap();
+ ConcurrentMap<String, SegmentBufferWriter> map1 = new ConcurrentHashMap<>();
Future<RecordId> res1 = execute(gen, createOp("a", map1), 0);
Future<RecordId> res2 = execute(gen, createOp("b", map1), 1);
Future<RecordId> res3 = execute(gen, createOp("c", map1), 2);
@@ -114,7 +114,7 @@ public class SegmentBufferWriterPoolTest {
assertEquals(rootId, res3.get());
assertEquals(3, map1.size());
- ConcurrentMap<String, SegmentBufferWriter> map2 = newConcurrentMap();
+ ConcurrentMap<String, SegmentBufferWriter> map2 = new ConcurrentHashMap<>();
Future<RecordId> res4 = execute(gen, createOp("a", map2), 0);
Future<RecordId> res5 = execute(gen, createOp("b", map2), 1);
Future<RecordId> res6 = execute(gen, createOp("c", map2), 2);
@@ -132,7 +132,7 @@ public class SegmentBufferWriterPoolTest {
@Test
public void testFlush() throws ExecutionException, InterruptedException, IOException {
GCGeneration gen = pool.getGCGeneration();
- ConcurrentMap<String, SegmentBufferWriter> map1 = newConcurrentMap();
+ ConcurrentMap<String, SegmentBufferWriter> map1 = new ConcurrentHashMap<>();
Future<RecordId> res1 = execute(gen, createOp("a", map1), 0);
Future<RecordId> res2 = execute(gen, createOp("b", map1), 1);
Future<RecordId> res3 = execute(gen, createOp("c", map1), 2);
@@ -147,7 +147,7 @@ public class SegmentBufferWriterPoolTest {
pool.flush(store);
- ConcurrentMap<String, SegmentBufferWriter> map2 = newConcurrentMap();
+ ConcurrentMap<String, SegmentBufferWriter> map2 = new ConcurrentHashMap<>();
Future<RecordId> res4 = execute(gen, createOp("a", map2), 0);
Future<RecordId> res5 = execute(gen, createOp("b", map2), 1);
Future<RecordId> res6 = execute(gen, createOp("c", map2), 2);
@@ -165,7 +165,7 @@ public class SegmentBufferWriterPoolTest {
@Test
public void testCompaction() throws ExecutionException, InterruptedException, IOException {
GCGeneration gen = pool.getGCGeneration();
- ConcurrentMap<String, SegmentBufferWriter> map1 = newConcurrentMap();
+ ConcurrentMap<String, SegmentBufferWriter> map1 = new ConcurrentHashMap<>();
Future<RecordId> res1 = execute(gen, createOp("a", map1), 0);
Future<RecordId> res2 = execute(gen, createOp("b", map1), 1);
Future<RecordId> res3 = execute(gen, createOp("c", map1), 2);
@@ -182,7 +182,7 @@ public class SegmentBufferWriterPoolTest {
gcGeneration = gcGeneration.nextFull();
// Write using previous generation
- ConcurrentMap<String, SegmentBufferWriter> map2 = newConcurrentMap();
+ ConcurrentMap<String, SegmentBufferWriter> map2 = new ConcurrentHashMap<>();
Future<RecordId> res4 = execute(gen, createOp("a", map2), 0);
Future<RecordId> res5 = execute(gen, createOp("b", map2), 1);
Future<RecordId> res6 = execute(gen, createOp("c", map2), 2);
@@ -197,7 +197,7 @@ public class SegmentBufferWriterPoolTest {
assertEquals(map1, map2);
// Write using current generation
- ConcurrentMap<String, SegmentBufferWriter> map3 = newConcurrentMap();
+ ConcurrentMap<String, SegmentBufferWriter> map3 = new ConcurrentHashMap<>();
Future<RecordId> res7 = execute(gen.nextFull(), createOp("a", map3), 0);
Future<RecordId> res8 = execute(gen.nextFull(), createOp("b", map3), 1);
Future<RecordId> res9 = execute(gen.nextFull(), createOp("c", map3), 2);
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
index fba823bbf8..c8445e9a83 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
@@ -59,6 +59,7 @@ import java.util.Map;
import java.util.Set;
import java.util.SortedSet;
import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executor;
@@ -305,8 +306,7 @@ public final class DocumentNodeStore
* by {@link #updateClusterState()}.
* Key: clusterId, value: ClusterNodeInfoDocument
*/
- private final ConcurrentMap<Integer, ClusterNodeInfoDocument> clusterNodes
- = Maps.newConcurrentMap();
+ private final ConcurrentMap<Integer, ClusterNodeInfoDocument> clusterNodes = new ConcurrentHashMap<>();
/**
* Unmerged branches of this DocumentNodeStore instance.
@@ -327,7 +327,7 @@ public final class DocumentNodeStore
/**
* Set of IDs for documents that may need to be split.
*/
- private final Map<String, String> splitCandidates = Maps.newConcurrentMap();
+ private final Map<String, String> splitCandidates = new ConcurrentHashMap<>();
/**
* Summary of changes done by this cluster node to persist by the background
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/JournalEntry.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/JournalEntry.java
index dfe4240901..21bbe332a5 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/JournalEntry.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/JournalEntry.java
@@ -23,6 +23,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Consumer;
import org.apache.jackrabbit.guava.common.collect.AbstractIterator;
@@ -824,7 +825,7 @@ public final class JournalEntry extends Document {
MapFactory CONCURRENT = new MapFactory() {
@Override
public Map<String, TreeNode> newMap() {
- return Maps.newConcurrentMap();
+ return new ConcurrentHashMap<>();
}
};
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/CacheMetadata.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/CacheMetadata.java
index a472b3de9a..12025cf7bf 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/CacheMetadata.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/CacheMetadata.java
@@ -16,10 +16,10 @@
*/
package org.apache.jackrabbit.oak.plugins.document.persistentCache;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.atomic.AtomicLong;
-import static org.apache.jackrabbit.guava.common.collect.Maps.newConcurrentMap;
/**
* In order to avoid leaking values from the metadataMap, following order should
@@ -54,7 +54,7 @@ import static org.apache.jackrabbit.guava.common.collect.Maps.newConcurrentMap;
*/
public class CacheMetadata<K> {
- private final ConcurrentMap<K, MetadataEntry> metadataMap = newConcurrentMap();
+ private final ConcurrentMap<K, MetadataEntry> metadataMap = new ConcurrentHashMap<>();
private boolean enabled = true;
diff --git a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CacheConsistencyRDBTest.java b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CacheConsistencyRDBTest.java
index e7222628a9..ec398fa660 100755
--- a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CacheConsistencyRDBTest.java
+++ b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CacheConsistencyRDBTest.java
@@ -20,6 +20,7 @@ import static org.apache.jackrabbit.oak.plugins.document.Collection.NODES;
import static org.junit.Assert.assertTrue;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
@@ -37,8 +38,6 @@ import org.jetbrains.annotations.Nullable;
import org.junit.Before;
import org.junit.Test;
-import org.apache.jackrabbit.guava.common.collect.Maps;
-
public class CacheConsistencyRDBTest extends AbstractRDBConnectionTest {
private TestStore store;
@@ -100,7 +99,7 @@ public class CacheConsistencyRDBTest extends AbstractRDBConnectionTest {
private static final class TestStore extends RDBDocumentStore {
- final Map<Thread, Semaphore> semaphores = Maps.newConcurrentMap();
+ final Map<Thread, Semaphore> semaphores = new ConcurrentHashMap<>();
public TestStore(DataSource dataSource, Builder builder, RDBOptions opt) {
super(dataSource, builder, opt);
diff --git a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CacheConsistencyTest.java b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CacheConsistencyTest.java
index 30ae23a702..a5c9dd310f 100644
--- a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CacheConsistencyTest.java
+++ b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CacheConsistencyTest.java
@@ -17,6 +17,7 @@
package org.apache.jackrabbit.oak.plugins.document;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
@@ -28,7 +29,6 @@ import org.jetbrains.annotations.Nullable;
import org.junit.Before;
import org.junit.Test;
-import org.apache.jackrabbit.guava.common.collect.Maps;
import com.mongodb.DBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
@@ -106,7 +106,7 @@ public class CacheConsistencyTest extends AbstractMongoConnectionTest {
private static final class TestStore extends MongoDocumentStore {
- final Map<Thread, Semaphore> semaphores = Maps.newConcurrentMap();
+ final Map<Thread, Semaphore> semaphores = new ConcurrentHashMap<>();
TestStore(MongoClient client, MongoDatabase db, DocumentMK.Builder builder) {
super(client, db, builder);
diff --git a/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/blob/LengthCachingDataStore.java b/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/blob/LengthCachingDataStore.java
index 994663258b..a078764e69 100644
--- a/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/blob/LengthCachingDataStore.java
+++ b/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/blob/LengthCachingDataStore.java
@@ -32,6 +32,7 @@ import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
+import java.util.concurrent.ConcurrentHashMap;
import javax.jcr.RepositoryException;
@@ -89,7 +90,7 @@ public class LengthCachingDataStore extends AbstractDataStore {
//this might consume lots of memory. For such case we would need to switch to
//some off heap map
private Map<String, Long> existingMappings = Collections.emptyMap();
- private Map<String, Long> newMappings = Maps.newConcurrentMap();
+ private Map<String, Long> newMappings = new ConcurrentHashMap<>();
private String mappingFilePath = "datastore-list.txt";
private String delegateClass;