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 2023/04/04 12:47:17 UTC

[jackrabbit-oak] branch OAK-10180 updated (76f9866fbb -> af566cf904)

This is an automated email from the ASF dual-hosted git repository.

reschke pushed a change to branch OAK-10180
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git


    from 76f9866fbb OAK-10179: switch oak-commons to shaded guava (#889)
     new 2f1bc652ed OAK-10180: oak-core-spi - switch to shaded Guava (affects consumers of core-spi cache APIs as well)
     new af566cf904 OAK-10180: oak-core-spi - switch to shaded Guava (affects consumers of core-spi cache APIs as well)

The 2 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.


Summary of changes:
 .../oak/benchmark/PersistentCacheTest.java         |  9 ++--
 .../blob/AbstractSharedCachingDataStore.java       | 21 ++++----
 .../oak/plugins/blob/CachingBlobStore.java         |  3 +-
 .../oak/plugins/blob/CompositeDataStoreCache.java  | 10 ++--
 .../jackrabbit/oak/plugins/blob/FileCache.java     | 23 ++++-----
 .../plugins/blob/datastore/DataStoreBlobStore.java | 19 ++++----
 .../plugins/blob/AbstractDataStoreCacheTest.java   | 17 +++----
 oak-core-spi/pom.xml                               |  5 ++
 .../jackrabbit/oak/cache/AbstractCacheStats.java   | 10 ++--
 .../org/apache/jackrabbit/oak/cache/CacheLIRS.java | 26 ++++------
 .../apache/jackrabbit/oak/cache/CacheStats.java    | 11 ++---
 .../jackrabbit/oak/cache/EmpiricalWeigher.java     |  2 +-
 .../apache/jackrabbit/oak/cache/package-info.java  |  2 +-
 .../oak/commons/jmx/AbstractCheckpointMBean.java   |  3 --
 .../apache/jackrabbit/oak/commons/jmx/JmxUtil.java |  5 +-
 .../oak/commons/jmx/ManagementOperation.java       |  8 ++--
 .../org/apache/jackrabbit/oak/osgi/OsgiUtil.java   |  9 ++--
 .../apache/jackrabbit/oak/osgi/OsgiWhiteboard.java | 27 +++++------
 .../jackrabbit/oak/spi/gc/DelegatingGCMonitor.java | 13 +++--
 .../jackrabbit/oak/spi/lock/LockConstants.java     |  9 ++--
 .../apache/jackrabbit/oak/spi/mount/MountInfo.java | 12 ++---
 .../apache/jackrabbit/oak/spi/mount/Mounts.java    |  2 +-
 .../oak/spi/mount/SimpleMountInfoProvider.java     |  6 +--
 .../jackrabbit/oak/spi/observation/ChangeSet.java  |  4 +-
 .../oak/spi/observation/ChangeSetBuilder.java      |  2 +-
 .../oak/spi/version/VersionConstants.java          |  2 +-
 .../oak/spi/whiteboard/AbstractServiceTracker.java |  4 +-
 .../oak/spi/whiteboard/DefaultWhiteboard.java      |  8 ++--
 .../oak/spi/whiteboard/WhiteboardUtils.java        |  6 +--
 .../oak/stats/DefaultStatisticsProvider.java       |  2 +-
 .../jackrabbit/oak/stats/StopwatchLogger.java      |  2 +-
 .../apache/jackrabbit/oak/cache/CacheSizeTest.java |  6 +--
 .../jackrabbit/oak/cache/CacheStatsTest.java       |  6 +--
 .../org/apache/jackrabbit/oak/cache/CacheTest.java | 12 ++---
 .../oak/cache/ConcurrentPerformanceTest.java       |  4 +-
 .../oak/commons/jmx/ManagementOperationTest.java   |  9 ++--
 .../apache/jackrabbit/oak/osgi/OsgiUtilTest.java   |  2 +-
 .../jackrabbit/oak/spi/mount/MountInfoTest.java    |  2 +-
 .../oak/spi/mount/SimpleMountInfoProviderTest.java |  2 +-
 .../oak/spi/observation/ChangeSetBuilderTest.java  |  2 +-
 .../oak/spi/observation/ChangeSetTest.java         |  4 +-
 .../oak/spi/whiteboard/DefaultWhiteboardTest.java  |  4 +-
 .../jackrabbit/oak/stats/StatisticManagerTest.java |  2 +-
 .../oak/cache/impl/CacheStatsMetricsTest.java      |  4 +-
 .../plugins/document/DocumentNodeStoreHelper.java  | 23 ++++-----
 .../plugins/index/search/ExtractedTextCache.java   | 10 ++--
 .../jackrabbit/oak/segment/CacheWeights.java       |  3 +-
 .../apache/jackrabbit/oak/segment/ReaderCache.java |  2 +-
 .../apache/jackrabbit/oak/segment/RecordCache.java |  8 ++--
 .../jackrabbit/oak/segment/RecordCacheStats.java   |  5 +-
 .../jackrabbit/oak/segment/SegmentCache.java       |  8 ++--
 .../jackrabbit/oak/segment/WriterCacheManager.java |  9 ++--
 .../jackrabbit/oak/segment/file/PriorityCache.java |  4 +-
 .../persistentcache/SegmentCacheStats.java         |  8 ++--
 .../persistence/persistentcache/package-info.java  |  2 +-
 .../oak/segment/RecordCacheStatsTest.java          |  5 +-
 .../oak/segment/file/PriorityCacheTest.java        |  5 +-
 .../oak/plugins/document/DocumentNodeStore.java    | 56 +++++++++++-----------
 .../plugins/document/DocumentNodeStoreBuilder.java | 34 ++++++-------
 .../oak/plugins/document/LocalDiffCache.java       |  2 +-
 .../oak/plugins/document/MemoryDiffCache.java      |  2 +-
 .../plugins/document/cache/NodeDocumentCache.java  | 12 ++---
 .../document/persistentCache/EvictionListener.java |  2 +-
 .../document/persistentCache/NodeCache.java        | 20 ++++----
 .../document/persistentCache/PersistentCache.java  |  2 +-
 .../oak/plugins/document/AsyncCacheTest.java       |  7 ++-
 .../oak/plugins/document/DisableCacheTest.java     | 13 +++--
 .../document/cache/CacheChangesTrackerTest.java    | 24 +++++-----
 .../document/persistentCache/AsyncQueueTest.java   |  2 +-
 .../document/persistentCache/BroadcastTest.java    |  3 +-
 .../document/persistentCache/CacheTest.java        |  3 +-
 .../document/persistentCache/NodeCacheTest.java    | 12 ++---
 72 files changed, 311 insertions(+), 316 deletions(-)


[jackrabbit-oak] 02/02: OAK-10180: oak-core-spi - switch to shaded Guava (affects consumers of core-spi cache APIs as well)

Posted by re...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

reschke pushed a commit to branch OAK-10180
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git

commit af566cf9048ee0b70886e264fa1f7d377219b397
Author: Julian Reschke <ju...@gmx.de>
AuthorDate: Tue Apr 4 13:13:15 2023 +0100

    OAK-10180: oak-core-spi - switch to shaded Guava (affects consumers of core-spi cache APIs as well)
---
 .../src/main/java/org/apache/jackrabbit/oak/segment/SegmentCache.java     | 0
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentCache.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentCache.java
old mode 100755
new mode 100644


[jackrabbit-oak] 01/02: OAK-10180: oak-core-spi - switch to shaded Guava (affects consumers of core-spi cache APIs as well)

Posted by re...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

reschke pushed a commit to branch OAK-10180
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git

commit 2f1bc652ed1ca6579cebd3d5c4d601209611748a
Author: Julian Reschke <ju...@gmx.de>
AuthorDate: Tue Apr 4 13:12:46 2023 +0100

    OAK-10180: oak-core-spi - switch to shaded Guava (affects consumers of core-spi cache APIs as well)
---
 .../oak/benchmark/PersistentCacheTest.java         |  9 ++--
 .../blob/AbstractSharedCachingDataStore.java       | 21 ++++----
 .../oak/plugins/blob/CachingBlobStore.java         |  3 +-
 .../oak/plugins/blob/CompositeDataStoreCache.java  | 10 ++--
 .../jackrabbit/oak/plugins/blob/FileCache.java     | 23 ++++-----
 .../plugins/blob/datastore/DataStoreBlobStore.java | 19 ++++----
 .../plugins/blob/AbstractDataStoreCacheTest.java   | 17 +++----
 oak-core-spi/pom.xml                               |  5 ++
 .../jackrabbit/oak/cache/AbstractCacheStats.java   | 10 ++--
 .../org/apache/jackrabbit/oak/cache/CacheLIRS.java | 26 ++++------
 .../apache/jackrabbit/oak/cache/CacheStats.java    | 11 ++---
 .../jackrabbit/oak/cache/EmpiricalWeigher.java     |  2 +-
 .../apache/jackrabbit/oak/cache/package-info.java  |  2 +-
 .../oak/commons/jmx/AbstractCheckpointMBean.java   |  3 --
 .../apache/jackrabbit/oak/commons/jmx/JmxUtil.java |  5 +-
 .../oak/commons/jmx/ManagementOperation.java       |  8 ++--
 .../org/apache/jackrabbit/oak/osgi/OsgiUtil.java   |  9 ++--
 .../apache/jackrabbit/oak/osgi/OsgiWhiteboard.java | 27 +++++------
 .../jackrabbit/oak/spi/gc/DelegatingGCMonitor.java | 13 +++--
 .../jackrabbit/oak/spi/lock/LockConstants.java     |  9 ++--
 .../apache/jackrabbit/oak/spi/mount/MountInfo.java | 12 ++---
 .../apache/jackrabbit/oak/spi/mount/Mounts.java    |  2 +-
 .../oak/spi/mount/SimpleMountInfoProvider.java     |  6 +--
 .../jackrabbit/oak/spi/observation/ChangeSet.java  |  4 +-
 .../oak/spi/observation/ChangeSetBuilder.java      |  2 +-
 .../oak/spi/version/VersionConstants.java          |  2 +-
 .../oak/spi/whiteboard/AbstractServiceTracker.java |  4 +-
 .../oak/spi/whiteboard/DefaultWhiteboard.java      |  8 ++--
 .../oak/spi/whiteboard/WhiteboardUtils.java        |  6 +--
 .../oak/stats/DefaultStatisticsProvider.java       |  2 +-
 .../jackrabbit/oak/stats/StopwatchLogger.java      |  2 +-
 .../apache/jackrabbit/oak/cache/CacheSizeTest.java |  6 +--
 .../jackrabbit/oak/cache/CacheStatsTest.java       |  6 +--
 .../org/apache/jackrabbit/oak/cache/CacheTest.java | 12 ++---
 .../oak/cache/ConcurrentPerformanceTest.java       |  4 +-
 .../oak/commons/jmx/ManagementOperationTest.java   |  9 ++--
 .../apache/jackrabbit/oak/osgi/OsgiUtilTest.java   |  2 +-
 .../jackrabbit/oak/spi/mount/MountInfoTest.java    |  2 +-
 .../oak/spi/mount/SimpleMountInfoProviderTest.java |  2 +-
 .../oak/spi/observation/ChangeSetBuilderTest.java  |  2 +-
 .../oak/spi/observation/ChangeSetTest.java         |  4 +-
 .../oak/spi/whiteboard/DefaultWhiteboardTest.java  |  4 +-
 .../jackrabbit/oak/stats/StatisticManagerTest.java |  2 +-
 .../oak/cache/impl/CacheStatsMetricsTest.java      |  4 +-
 .../plugins/document/DocumentNodeStoreHelper.java  | 23 ++++-----
 .../plugins/index/search/ExtractedTextCache.java   | 10 ++--
 .../jackrabbit/oak/segment/CacheWeights.java       |  3 +-
 .../apache/jackrabbit/oak/segment/ReaderCache.java |  2 +-
 .../apache/jackrabbit/oak/segment/RecordCache.java |  8 ++--
 .../jackrabbit/oak/segment/RecordCacheStats.java   |  5 +-
 .../jackrabbit/oak/segment/SegmentCache.java       |  8 ++--
 .../jackrabbit/oak/segment/WriterCacheManager.java |  9 ++--
 .../jackrabbit/oak/segment/file/PriorityCache.java |  4 +-
 .../persistentcache/SegmentCacheStats.java         |  8 ++--
 .../persistence/persistentcache/package-info.java  |  2 +-
 .../oak/segment/RecordCacheStatsTest.java          |  5 +-
 .../oak/segment/file/PriorityCacheTest.java        |  5 +-
 .../oak/plugins/document/DocumentNodeStore.java    | 56 +++++++++++-----------
 .../plugins/document/DocumentNodeStoreBuilder.java | 34 ++++++-------
 .../oak/plugins/document/LocalDiffCache.java       |  2 +-
 .../oak/plugins/document/MemoryDiffCache.java      |  2 +-
 .../plugins/document/cache/NodeDocumentCache.java  | 12 ++---
 .../document/persistentCache/EvictionListener.java |  2 +-
 .../document/persistentCache/NodeCache.java        | 20 ++++----
 .../document/persistentCache/PersistentCache.java  |  2 +-
 .../oak/plugins/document/AsyncCacheTest.java       |  7 ++-
 .../oak/plugins/document/DisableCacheTest.java     | 13 +++--
 .../document/cache/CacheChangesTrackerTest.java    | 24 +++++-----
 .../document/persistentCache/AsyncQueueTest.java   |  2 +-
 .../document/persistentCache/BroadcastTest.java    |  3 +-
 .../document/persistentCache/CacheTest.java        |  3 +-
 .../document/persistentCache/NodeCacheTest.java    | 12 ++---
 72 files changed, 311 insertions(+), 316 deletions(-)

diff --git a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/PersistentCacheTest.java b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/PersistentCacheTest.java
index e03996d14e..024e874d1c 100644
--- a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/PersistentCacheTest.java
+++ b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/PersistentCacheTest.java
@@ -16,7 +16,11 @@
  */
 package org.apache.jackrabbit.oak.benchmark;
 
-import com.google.common.cache.Cache;
+import java.util.concurrent.atomic.AtomicLong;
+
+import javax.jcr.Repository;
+
+import org.apache.jackrabbit.guava.common.cache.Cache;
 import org.apache.jackrabbit.oak.Oak;
 import org.apache.jackrabbit.oak.fixture.OakFixture;
 import org.apache.jackrabbit.oak.fixture.OakRepositoryFixture;
@@ -32,9 +36,6 @@ import org.apache.jackrabbit.oak.plugins.document.Revision;
 import org.apache.jackrabbit.oak.plugins.document.RevisionVector;
 import org.apache.jackrabbit.oak.stats.StatisticsProvider;
 
-import javax.jcr.Repository;
-import java.util.concurrent.atomic.AtomicLong;
-
 public class PersistentCacheTest extends AbstractTest {
 
     private static final int ITEMS_TO_ADD = Integer.getInteger("items", 10000);
diff --git a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/AbstractSharedCachingDataStore.java b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/AbstractSharedCachingDataStore.java
index 82d0ee0773..937a1c071e 100644
--- a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/AbstractSharedCachingDataStore.java
+++ b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/AbstractSharedCachingDataStore.java
@@ -18,6 +18,10 @@
  */
 package org.apache.jackrabbit.oak.plugins.blob;
 
+import static com.google.common.base.Preconditions.checkArgument;
+import static org.apache.jackrabbit.oak.commons.FileIOUtils.copyInputStreamToFile;
+import static org.apache.jackrabbit.oak.spi.blob.BlobOptions.UploadType.SYNCHRONOUS;
+
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
@@ -32,13 +36,6 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
 
-import com.google.common.base.Function;
-import com.google.common.base.Stopwatch;
-import com.google.common.cache.CacheLoader;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Iterators;
-import com.google.common.io.Closeables;
-import com.google.common.util.concurrent.ListeningExecutorService;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.io.IOUtils;
@@ -47,6 +44,7 @@ import org.apache.jackrabbit.core.data.DataIdentifier;
 import org.apache.jackrabbit.core.data.DataRecord;
 import org.apache.jackrabbit.core.data.DataStoreException;
 import org.apache.jackrabbit.core.data.MultiDataStoreAware;
+import org.apache.jackrabbit.guava.common.cache.CacheLoader;
 import org.apache.jackrabbit.oak.plugins.blob.datastore.TypedDataStore;
 import org.apache.jackrabbit.oak.spi.blob.AbstractDataRecord;
 import org.apache.jackrabbit.oak.spi.blob.AbstractSharedBackend;
@@ -58,9 +56,12 @@ import org.jetbrains.annotations.Nullable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static com.google.common.base.Preconditions.checkArgument;
-import static org.apache.jackrabbit.oak.commons.FileIOUtils.copyInputStreamToFile;
-import static org.apache.jackrabbit.oak.spi.blob.BlobOptions.UploadType.SYNCHRONOUS;
+import com.google.common.base.Function;
+import com.google.common.base.Stopwatch;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Iterators;
+import com.google.common.io.Closeables;
+import com.google.common.util.concurrent.ListeningExecutorService;
 
 /**
  * Cache files locally and stage files locally for async uploads.
diff --git a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/CachingBlobStore.java b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/CachingBlobStore.java
index 6efc08d752..1fbb03c0fc 100644
--- a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/CachingBlobStore.java
+++ b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/CachingBlobStore.java
@@ -16,13 +16,12 @@
  */
 package org.apache.jackrabbit.oak.plugins.blob;
 
+import org.apache.jackrabbit.guava.common.cache.Weigher;
 import org.apache.jackrabbit.oak.cache.CacheLIRS;
 import org.apache.jackrabbit.oak.cache.CacheStats;
 import org.apache.jackrabbit.oak.commons.StringUtils;
 import org.apache.jackrabbit.oak.spi.blob.AbstractBlobStore;
 import org.jetbrains.annotations.NotNull;
-
-import com.google.common.cache.Weigher;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/CompositeDataStoreCache.java b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/CompositeDataStoreCache.java
index 80d35e2bee..cd2a1379cc 100644
--- a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/CompositeDataStoreCache.java
+++ b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/CompositeDataStoreCache.java
@@ -18,6 +18,8 @@
  */
 package org.apache.jackrabbit.oak.plugins.blob;
 
+import static com.google.common.base.Preconditions.checkArgument;
+
 import java.io.Closeable;
 import java.io.File;
 import java.io.IOException;
@@ -25,16 +27,14 @@ import java.io.InputStream;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.ScheduledExecutorService;
 
-import com.google.common.cache.AbstractCache;
-import com.google.common.cache.CacheLoader;
-
-import com.google.common.util.concurrent.ListeningExecutorService;
+import org.apache.jackrabbit.guava.common.cache.AbstractCache;
+import org.apache.jackrabbit.guava.common.cache.CacheLoader;
 import org.apache.jackrabbit.oak.stats.StatisticsProvider;
 import org.jetbrains.annotations.Nullable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static com.google.common.base.Preconditions.checkArgument;
+import com.google.common.util.concurrent.ListeningExecutorService;
 
 /**
  */
diff --git a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/FileCache.java b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/FileCache.java
index 09149c6652..7aab05726b 100644
--- a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/FileCache.java
+++ b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/FileCache.java
@@ -18,6 +18,9 @@
  */
 package org.apache.jackrabbit.oak.plugins.blob;
 
+import static org.apache.commons.io.FilenameUtils.normalizeNoEndSeparator;
+import static org.apache.jackrabbit.oak.commons.FileIOUtils.copyInputStreamToFile;
+
 import java.io.Closeable;
 import java.io.File;
 import java.io.IOException;
@@ -30,16 +33,11 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Stopwatch;
-import com.google.common.cache.AbstractCache;
-import com.google.common.cache.Cache;
-import com.google.common.cache.CacheLoader;
-import com.google.common.cache.RemovalCause;
-import com.google.common.cache.Weigher;
-import com.google.common.io.Closeables;
-import com.google.common.io.Files;
 import org.apache.commons.io.FileUtils;
+import org.apache.jackrabbit.guava.common.cache.Cache;
+import org.apache.jackrabbit.guava.common.cache.CacheLoader;
+import org.apache.jackrabbit.guava.common.cache.RemovalCause;
+import org.apache.jackrabbit.guava.common.cache.Weigher;
 import org.apache.jackrabbit.oak.cache.CacheLIRS;
 import org.apache.jackrabbit.oak.cache.CacheLIRS.EvictionCallback;
 import org.apache.jackrabbit.oak.cache.CacheStats;
@@ -50,8 +48,11 @@ import org.jetbrains.annotations.Nullable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static org.apache.commons.io.FilenameUtils.normalizeNoEndSeparator;
-import static org.apache.jackrabbit.oak.commons.FileIOUtils.copyInputStreamToFile;
+import com.google.common.base.Predicate;
+import com.google.common.base.Stopwatch;
+import com.google.common.cache.AbstractCache;
+import com.google.common.io.Closeables;
+import com.google.common.io.Files;
 
 /**
  */
diff --git a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
index 47d1ac35cd..a054350270 100644
--- a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
+++ b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
@@ -42,15 +42,6 @@ import java.util.concurrent.TimeUnit;
 
 import javax.jcr.RepositoryException;
 
-import com.google.common.base.Function;
-import com.google.common.base.Predicate;
-import com.google.common.base.Strings;
-import com.google.common.cache.LoadingCache;
-import com.google.common.cache.Weigher;
-import com.google.common.collect.Iterators;
-import com.google.common.collect.Lists;
-import com.google.common.io.ByteStreams;
-import com.google.common.io.Closeables;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
 import org.apache.jackrabbit.core.data.DataIdentifier;
@@ -58,6 +49,8 @@ import org.apache.jackrabbit.core.data.DataRecord;
 import org.apache.jackrabbit.core.data.DataStore;
 import org.apache.jackrabbit.core.data.DataStoreException;
 import org.apache.jackrabbit.core.data.MultiDataStoreAware;
+import org.apache.jackrabbit.guava.common.cache.LoadingCache;
+import org.apache.jackrabbit.guava.common.cache.Weigher;
 import org.apache.jackrabbit.oak.api.Blob;
 import org.apache.jackrabbit.oak.api.blob.BlobAccessProvider;
 import org.apache.jackrabbit.oak.api.blob.BlobDownloadOptions;
@@ -85,6 +78,14 @@ import org.jetbrains.annotations.Nullable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.base.Function;
+import com.google.common.base.Predicate;
+import com.google.common.base.Strings;
+import com.google.common.collect.Iterators;
+import com.google.common.collect.Lists;
+import com.google.common.io.ByteStreams;
+import com.google.common.io.Closeables;
+
 /**
  * BlobStore wrapper for DataStore. Wraps Jackrabbit 2 DataStore and expose them as BlobStores
  * It also handles inlining binaries if there size is smaller than
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/AbstractDataStoreCacheTest.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/AbstractDataStoreCacheTest.java
index f560b27a17..17e919f4d5 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/AbstractDataStoreCacheTest.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/AbstractDataStoreCacheTest.java
@@ -40,20 +40,13 @@ import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 
-import com.google.common.cache.CacheLoader;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.io.Files;
-import com.google.common.util.concurrent.AbstractListeningExecutorService;
-import com.google.common.util.concurrent.FutureCallback;
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
 import org.apache.jackrabbit.core.data.DataIdentifier;
 import org.apache.jackrabbit.core.data.DataRecord;
 import org.apache.jackrabbit.core.data.DataStoreException;
 import org.apache.jackrabbit.core.data.util.NamedThreadFactory;
+import org.apache.jackrabbit.guava.common.cache.CacheLoader;
 import org.apache.jackrabbit.oak.commons.FileIOUtils;
 import org.apache.jackrabbit.oak.spi.blob.AbstractDataRecord;
 import org.apache.jackrabbit.oak.spi.blob.AbstractSharedBackend;
@@ -62,6 +55,14 @@ import org.jetbrains.annotations.Nullable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.io.Files;
+import com.google.common.util.concurrent.AbstractListeningExecutorService;
+import com.google.common.util.concurrent.FutureCallback;
+import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
+
 /**
  * Abstract class for DataStore cache related tests.
  */
diff --git a/oak-core-spi/pom.xml b/oak-core-spi/pom.xml
index 710812b21d..87825ab7ca 100644
--- a/oak-core-spi/pom.xml
+++ b/oak-core-spi/pom.xml
@@ -127,6 +127,11 @@
       <artifactId>oak-commons</artifactId>
       <version>${project.version}</version>
     </dependency>
+    <dependency>
+      <groupId>org.apache.jackrabbit</groupId>
+      <artifactId>oak-shaded-guava</artifactId>
+      <version>${project.version}</version>
+    </dependency>
 
     <!-- General utility libraries -->
     <dependency>
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/AbstractCacheStats.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/AbstractCacheStats.java
index 8e4d605d40..e6f29554cc 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/AbstractCacheStats.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/AbstractCacheStats.java
@@ -18,14 +18,14 @@
 
 package org.apache.jackrabbit.oak.cache;
 
-import static com.google.common.base.Preconditions.checkNotNull;
 import static java.lang.String.format;
 import static org.apache.jackrabbit.oak.commons.IOUtils.humanReadableByteCount;
 
+import java.util.Objects;
 import java.util.concurrent.TimeUnit;
 
-import com.google.common.base.Objects;
-import com.google.common.cache.CacheStats;
+import org.apache.jackrabbit.guava.common.base.MoreObjects;
+import org.apache.jackrabbit.guava.common.cache.CacheStats;
 import org.apache.jackrabbit.oak.api.jmx.CacheStatsMBean;
 import org.apache.jackrabbit.oak.commons.jmx.AnnotatedStandardMBean;
 import org.jetbrains.annotations.NotNull;
@@ -47,7 +47,7 @@ public abstract class AbstractCacheStats extends AnnotatedStandardMBean implemen
      */
     protected AbstractCacheStats(@NotNull String name) {
         super(CacheStatsMBean.class);
-        this.name = checkNotNull(name);
+        this.name = Objects.requireNonNull(name);
     }
 
     /**
@@ -135,7 +135,7 @@ public abstract class AbstractCacheStats extends AnnotatedStandardMBean implemen
 
     @Override
     public String cacheInfoAsString() {
-        return Objects.toStringHelper("CacheStats")
+        return MoreObjects.toStringHelper("CacheStats")
                 .add("hitCount", getHitCount())
                 .add("hitRate", format("%1.2f", getHitRate()))
                 .add("missCount", getMissCount())
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/CacheLIRS.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/CacheLIRS.java
index 2fed2ea684..d5429a441a 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/CacheLIRS.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/CacheLIRS.java
@@ -17,9 +17,7 @@
 package org.apache.jackrabbit.oak.cache;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -33,17 +31,15 @@ import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.LongAdder;
 
-import com.google.common.cache.CacheLoader;
-import com.google.common.cache.CacheStats;
-import com.google.common.cache.LoadingCache;
-import com.google.common.cache.RemovalCause;
-import com.google.common.cache.Weigher;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.common.util.concurrent.UncheckedExecutionException;
-
+import org.apache.jackrabbit.guava.common.cache.CacheLoader;
+import org.apache.jackrabbit.guava.common.cache.CacheStats;
+import org.apache.jackrabbit.guava.common.cache.LoadingCache;
+import org.apache.jackrabbit.guava.common.cache.RemovalCause;
+import org.apache.jackrabbit.guava.common.cache.Weigher;
+import org.apache.jackrabbit.guava.common.collect.ImmutableMap;
+import org.apache.jackrabbit.guava.common.util.concurrent.ListenableFuture;
+import org.apache.jackrabbit.guava.common.util.concurrent.UncheckedExecutionException;
 import org.apache.jackrabbit.oak.commons.annotations.Internal;
-import org.apache.jackrabbit.oak.spi.GuavaDeprecation;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.slf4j.Logger;
@@ -88,11 +84,6 @@ public class CacheLIRS<K, V> implements LoadingCache<K, V> {
     private static final AtomicInteger NEXT_CACHE_ID = new AtomicInteger();
     private static final boolean PUT_HOT = Boolean.parseBoolean(System.getProperty("oak.cacheLIRS.putHot", "true"));
 
-    // see OAK-8702
-    private static final List<String> ALLOWED_USERS = Collections.unmodifiableList(
-            Arrays.asList(new String[] { "org.apache.jackrabbit.oak.plugins.blob.", "org.apache.jackrabbit.oak.plugins.document.",
-                    "org.apache.jackrabbit.oak.segment.", "org.apache.jackrabbit.oak.plugins.segment." }));
-
     /**
      * Listener for items that are evicted from the cache. The listener
      * is called for both, resident and non-resident items. In the
@@ -182,7 +173,6 @@ public class CacheLIRS<K, V> implements LoadingCache<K, V> {
     CacheLIRS(Weigher<K, V> weigher, long maxMemory, int averageMemory,
             int segmentCount, int stackMoveDistance, final CacheLoader<K, V> loader,
             EvictionCallback<K, V> evicted, String module) {
-        GuavaDeprecation.handleCall("OAK-8702", CacheLIRS.class.getName(), ALLOWED_USERS);
         LOG.debug("Init #{}, module={}, maxMemory={}, segmentCount={}, stackMoveDistance={}",
                 cacheId, module, maxMemory, segmentCount, segmentCount);
         this.weigher = weigher;
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/CacheStats.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/CacheStats.java
index 3b20ff5ce0..3860b91dfd 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/CacheStats.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/CacheStats.java
@@ -18,12 +18,11 @@
  */
 package org.apache.jackrabbit.oak.cache;
 
-import static com.google.common.base.Preconditions.checkNotNull;
-
 import java.util.Map;
+import java.util.Objects;
 
-import com.google.common.cache.Cache;
-import com.google.common.cache.Weigher;
+import org.apache.jackrabbit.guava.common.cache.Cache;
+import org.apache.jackrabbit.guava.common.cache.Weigher;
 
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -51,13 +50,13 @@ public class CacheStats extends AbstractCacheStats {
             @Nullable Weigher<?, ?> weigher,
             long maxWeight) {
         super(name);
-        this.cache = (Cache<Object, Object>) checkNotNull(cache);
+        this.cache = (Cache<Object, Object>) Objects.requireNonNull(cache);
         this.weigher = (Weigher<Object, Object>) weigher;
         this.maxWeight = maxWeight;
     }
 
     @Override
-    protected com.google.common.cache.CacheStats getCurrentStats() {
+    protected org.apache.jackrabbit.guava.common.cache.CacheStats getCurrentStats() {
         return cache.stats();
     }
 
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/EmpiricalWeigher.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/EmpiricalWeigher.java
index bf12d85396..871a48fbd1 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/EmpiricalWeigher.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/EmpiricalWeigher.java
@@ -18,7 +18,7 @@
  */
 package org.apache.jackrabbit.oak.cache;
 
-import com.google.common.cache.Weigher;
+import org.apache.jackrabbit.guava.common.cache.Weigher;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/package-info.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/package-info.java
index e5d4535210..8f8f45aed3 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/package-info.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/cache/package-info.java
@@ -19,7 +19,7 @@
  * <em>For Oak internal use only. Do not use outside Oak components.</em>
  */
 @Internal(since = "1.1.1")
-@Version("1.1.1")
+@Version("2.0")
 package org.apache.jackrabbit.oak.cache;
 
 import org.apache.jackrabbit.oak.commons.annotations.Internal;
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/AbstractCheckpointMBean.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/AbstractCheckpointMBean.java
index 263e3f21c9..776e721645 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/AbstractCheckpointMBean.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/AbstractCheckpointMBean.java
@@ -26,17 +26,14 @@ import java.util.Map;
 import java.util.Map.Entry;
 
 import javax.management.openmbean.ArrayType;
-import javax.management.openmbean.CompositeData;
 import javax.management.openmbean.CompositeDataSupport;
 import javax.management.openmbean.CompositeType;
 import javax.management.openmbean.OpenDataException;
 import javax.management.openmbean.OpenType;
-import javax.management.openmbean.SimpleType;
 import javax.management.openmbean.TabularData;
 import javax.management.openmbean.TabularDataSupport;
 import javax.management.openmbean.TabularType;
 
-import com.google.common.collect.Maps;
 import org.apache.jackrabbit.oak.api.jmx.CheckpointMBean;
 
 /**
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/JmxUtil.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/JmxUtil.java
index 5f13c17cf7..f3138cbfd6 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/JmxUtil.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/JmxUtil.java
@@ -19,12 +19,13 @@
 
 package org.apache.jackrabbit.oak.commons.jmx;
 
-import com.google.common.collect.ImmutableMap;
 import org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils;
 import org.jetbrains.annotations.NotNull;
 
 import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
+
+import java.util.Collections;
 import java.util.Hashtable;
 import java.util.Map;
 
@@ -98,6 +99,6 @@ public final class JmxUtil {
         table.put("type", quoteValueIfRequired(type));
         table.put("name", quoteValueIfRequired(name));
         properties.forEach((key, value) -> table.put(key, quoteValueIfRequired(value)));
-        return ImmutableMap.of("jmx.objectname", new ObjectName(WhiteboardUtils.JMX_OAK_DOMAIN, table));
+        return Collections.singletonMap("jmx.objectname", new ObjectName(WhiteboardUtils.JMX_OAK_DOMAIN, table));
     }
 }
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/ManagementOperation.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/ManagementOperation.java
index dc4d16f484..bf4599a383 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/ManagementOperation.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/commons/jmx/ManagementOperation.java
@@ -19,8 +19,7 @@
 
 package org.apache.jackrabbit.oak.commons.jmx;
 
-import static com.google.common.base.Objects.toStringHelper;
-import static com.google.common.base.Preconditions.checkNotNull;
+import static org.apache.jackrabbit.guava.common.base.MoreObjects.toStringHelper;
 import static java.lang.Thread.currentThread;
 import static javax.management.openmbean.SimpleType.INTEGER;
 import static javax.management.openmbean.SimpleType.STRING;
@@ -36,6 +35,7 @@ import static org.apache.jackrabbit.oak.commons.jmx.ManagementOperation.Status.n
 import static org.apache.jackrabbit.oak.commons.jmx.ManagementOperation.Status.running;
 import static org.apache.jackrabbit.oak.commons.jmx.ManagementOperation.Status.succeeded;
 
+import java.util.Objects;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.FutureTask;
@@ -171,8 +171,8 @@ public class ManagementOperation<R> extends FutureTask<R> {
             @NotNull Callable<R> task) {
         super(task);
         this.id = idGen.incrementAndGet();
-        this.name = checkNotNull(name);
-        this.statusMessage = checkNotNull(statusMessage);
+        this.name = Objects.requireNonNull(name);
+        this.statusMessage = Objects.requireNonNull(statusMessage);
     }
 
     /**
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiUtil.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiUtil.java
index 6b435e41ec..67f9b2037b 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiUtil.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiUtil.java
@@ -25,8 +25,7 @@ import org.osgi.framework.InvalidSyntaxException;
 import org.osgi.service.component.ComponentContext;
 
 import java.util.Map;
-
-import static com.google.common.base.Preconditions.checkNotNull;
+import java.util.Objects;
 
 /**
  * Utility methods to use in an OSGi environment.
@@ -47,7 +46,7 @@ public class OsgiUtil {
      * @return The property value serialized as a string, or {@code null}.
      */
     public static String lookup(ComponentContext context, String name) {
-        return asString(checkNotNull(context).getProperties().get(checkNotNull(name)));
+        return asString(Objects.requireNonNull(context).getProperties().get(Objects.requireNonNull(name)));
     }
 
     /**
@@ -60,7 +59,7 @@ public class OsgiUtil {
      * @return The property value serialized as a string, or {@code null}.
      */
     public static String lookup(BundleContext context, String name) {
-        return asString(checkNotNull(context).getProperty(checkNotNull(name)));
+        return asString(Objects.requireNonNull(context).getProperty(Objects.requireNonNull(name)));
     }
 
     /**
@@ -130,7 +129,7 @@ public class OsgiUtil {
      * @return The property value serialized as a string, or {@code null}.
      */
     public static String lookupFrameworkThenConfiguration(ComponentContext context, String nameInComponent, String nameInFramework) {
-        String fromFramework = lookup(checkNotNull(context).getBundleContext(), nameInFramework);
+        String fromFramework = lookup(Objects.requireNonNull(context).getBundleContext(), nameInFramework);
 
         if (fromFramework != null) {
             return fromFramework;
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiWhiteboard.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiWhiteboard.java
index 554ff05283..bba5d22649 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiWhiteboard.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiWhiteboard.java
@@ -16,29 +16,28 @@
  */
 package org.apache.jackrabbit.oak.osgi;
 
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.Lists.newArrayList;
-import static com.google.common.collect.Maps.newHashMap;
-import static com.google.common.collect.Maps.newTreeMap;
 import static java.util.Collections.emptyList;
 import static java.util.Collections.emptyMap;
 import static java.util.Collections.singletonList;
+import static org.apache.jackrabbit.guava.common.base.Preconditions.checkArgument;
 import static org.apache.jackrabbit.oak.osgi.OsgiUtil.getFilter;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Dictionary;
+import java.util.HashMap;
 import java.util.Hashtable;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.SortedMap;
+import java.util.TreeMap;
 import java.util.concurrent.atomic.AtomicReference;
 
 import org.apache.jackrabbit.oak.spi.whiteboard.Registration;
 import org.apache.jackrabbit.oak.spi.whiteboard.Tracker;
 import org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard;
 import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Filter;
 import org.osgi.framework.ServiceReference;
@@ -59,15 +58,15 @@ public class OsgiWhiteboard implements Whiteboard {
     private final BundleContext context;
 
     public OsgiWhiteboard(@NotNull BundleContext context) {
-        this.context = checkNotNull(context);
+        this.context = Objects.requireNonNull(context);
     }
 
     @Override
     public <T> Registration register(
             final Class<T> type, final T service, Map<?, ?> properties) {
-        checkNotNull(type);
-        checkNotNull(service);
-        checkNotNull(properties);
+        Objects.requireNonNull(type);
+        Objects.requireNonNull(service);
+        Objects.requireNonNull(properties);
         checkArgument(type.isInstance(service));
 
         Dictionary<Object, Object> dictionary = new Hashtable<Object, Object>();
@@ -113,13 +112,13 @@ public class OsgiWhiteboard implements Whiteboard {
     }
 
     private <T> Tracker<T> track(Class<T> type, Filter filter) {
-        checkNotNull(type);
+        Objects.requireNonNull(type);
         final AtomicReference<List<T>> list =
                 new AtomicReference<List<T>>(Collections.<T>emptyList());
         final ServiceTrackerCustomizer customizer =
                 new ServiceTrackerCustomizer() {
                     private final Map<ServiceReference, T> services =
-                            newHashMap();
+                            new HashMap<>();
                     @Override @SuppressWarnings("unchecked")
                     public synchronized Object addingService(
                             ServiceReference reference) {
@@ -186,9 +185,9 @@ public class OsgiWhiteboard implements Whiteboard {
             return singletonList(
                     services.values().iterator().next());
         default:
-            SortedMap<ServiceReference, T> sorted = newTreeMap();
+            SortedMap<ServiceReference, T> sorted = new TreeMap<>();
             sorted.putAll(services);
-            return newArrayList(sorted.values());
+            return new ArrayList<>(sorted.values());
         }
     }
 
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/gc/DelegatingGCMonitor.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/gc/DelegatingGCMonitor.java
index 0de8606015..ab28813cae 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/gc/DelegatingGCMonitor.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/gc/DelegatingGCMonitor.java
@@ -19,13 +19,12 @@
 
 package org.apache.jackrabbit.oak.spi.gc;
 
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.Sets.newConcurrentHashSet;
-
 import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Objects;
 import java.util.Set;
 
-import com.google.common.collect.Sets;
 import org.apache.jackrabbit.oak.spi.whiteboard.Registration;
 import org.jetbrains.annotations.NotNull;
 
@@ -41,7 +40,7 @@ public class DelegatingGCMonitor implements GCMonitor {
      * @param gcMonitors
      */
     public DelegatingGCMonitor(@NotNull Collection<? extends GCMonitor> gcMonitors) {
-        this.gcMonitors = newConcurrentHashSet();
+        this.gcMonitors = Collections.synchronizedSet(new HashSet<>());
         this.gcMonitors.addAll(gcMonitors);
     }
 
@@ -49,7 +48,7 @@ public class DelegatingGCMonitor implements GCMonitor {
      * New instance without any delegate.
      */
     public DelegatingGCMonitor() {
-        this(Sets.<GCMonitor>newConcurrentHashSet());
+        this(Collections.synchronizedSet(new HashSet<>()));
     }
 
     /**
@@ -59,7 +58,7 @@ public class DelegatingGCMonitor implements GCMonitor {
      *          {@code GCMonitor} instance when called.
      */
     public Registration registerGCMonitor(@NotNull final GCMonitor gcMonitor) {
-        gcMonitors.add(checkNotNull(gcMonitor));
+        gcMonitors.add(Objects.requireNonNull(gcMonitor));
         return new Registration() {
             @Override
             public void unregister() {
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/lock/LockConstants.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/lock/LockConstants.java
index f7b4330635..58334daee0 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/lock/LockConstants.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/lock/LockConstants.java
@@ -16,14 +16,15 @@
  */
 package org.apache.jackrabbit.oak.spi.lock;
 
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
 import java.util.Set;
 
-import com.google.common.collect.ImmutableSet;
 import org.apache.jackrabbit.JcrConstants;
 
 public interface LockConstants extends JcrConstants {
 
-    Set<String> LOCK_PROPERTY_NAMES = ImmutableSet.of(
-            JCR_LOCKISDEEP,
-            JCR_LOCKOWNER);
+    Set<String> LOCK_PROPERTY_NAMES = Collections
+            .unmodifiableSet(new HashSet<String>(Arrays.asList(new String[] { JCR_LOCKISDEEP, JCR_LOCKOWNER })));
 }
\ No newline at end of file
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/MountInfo.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/MountInfo.java
index 71f55ca544..8f92782403 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/MountInfo.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/MountInfo.java
@@ -27,13 +27,13 @@ import java.util.NavigableSet;
 import java.util.Set;
 import java.util.TreeSet;
 
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
+import org.apache.jackrabbit.guava.common.base.Function;
+import org.apache.jackrabbit.guava.common.collect.ImmutableSet;
 
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.Iterables.transform;
-import static com.google.common.collect.Sets.newHashSet;
-import static com.google.common.collect.Sets.newTreeSet;
+import static org.apache.jackrabbit.guava.common.base.Preconditions.checkNotNull;
+import static org.apache.jackrabbit.guava.common.collect.Iterables.transform;
+import static org.apache.jackrabbit.guava.common.collect.Sets.newHashSet;
+import static org.apache.jackrabbit.guava.common.collect.Sets.newTreeSet;
 import static org.apache.jackrabbit.oak.commons.PathUtils.getParentPath;
 import static org.apache.jackrabbit.oak.commons.PathUtils.isAncestor;
 import static org.apache.jackrabbit.oak.spi.mount.FragmentMatcher.Result.FULL_MATCH;
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/Mounts.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/Mounts.java
index 5af4544fab..c47730004a 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/Mounts.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/Mounts.java
@@ -19,7 +19,7 @@
 
 package org.apache.jackrabbit.oak.spi.mount;
 
-import com.google.common.collect.Lists;
+import org.apache.jackrabbit.guava.common.collect.Lists;
 
 import java.util.Collection;
 import java.util.Collections;
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProvider.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProvider.java
index a32dff2b80..6769fc6dc0 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProvider.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProvider.java
@@ -23,9 +23,9 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
+import org.apache.jackrabbit.guava.common.collect.ImmutableMap;
+import org.apache.jackrabbit.guava.common.collect.Lists;
+import org.apache.jackrabbit.guava.common.collect.Maps;
 import org.apache.jackrabbit.oak.spi.mount.Mount;
 import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
 import org.apache.jackrabbit.oak.spi.mount.Mounts;
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/ChangeSet.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/ChangeSet.java
index f584d60329..324f00e953 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/ChangeSet.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/ChangeSet.java
@@ -20,8 +20,8 @@ package org.apache.jackrabbit.oak.spi.observation;
 
 import java.util.Set;
 
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Sets;
+import org.apache.jackrabbit.guava.common.collect.ImmutableSet;
+import org.apache.jackrabbit.guava.common.collect.Sets;
 
 import org.apache.jackrabbit.oak.commons.PathUtils;
 import org.apache.jackrabbit.oak.commons.json.JsopBuilder;
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/ChangeSetBuilder.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/ChangeSetBuilder.java
index 34a9e471ab..c7cb9a943b 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/ChangeSetBuilder.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/observation/ChangeSetBuilder.java
@@ -20,7 +20,7 @@ package org.apache.jackrabbit.oak.spi.observation;
 
 import java.util.Set;
 
-import com.google.common.collect.Sets;
+import org.apache.jackrabbit.guava.common.collect.Sets;
 import org.apache.jackrabbit.oak.commons.PathUtils;
 import org.jetbrains.annotations.Nullable;
 
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/version/VersionConstants.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/version/VersionConstants.java
index 5efff0ffe2..5d1af95496 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/version/VersionConstants.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/version/VersionConstants.java
@@ -21,7 +21,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.Set;
 
-import com.google.common.collect.ImmutableSet;
+import org.apache.jackrabbit.guava.common.collect.ImmutableSet;
 import org.apache.jackrabbit.JcrConstants;
 
 /**
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/AbstractServiceTracker.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/AbstractServiceTracker.java
index 816d28224b..cafe718662 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/AbstractServiceTracker.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/AbstractServiceTracker.java
@@ -18,8 +18,8 @@
  */
 package org.apache.jackrabbit.oak.spi.whiteboard;
 
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.base.Preconditions.checkState;
+import static org.apache.jackrabbit.guava.common.base.Preconditions.checkNotNull;
+import static org.apache.jackrabbit.guava.common.base.Preconditions.checkState;
 import static java.util.Collections.emptyList;
 
 import java.util.List;
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/DefaultWhiteboard.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/DefaultWhiteboard.java
index f9b5b7dd27..77e5f95b8a 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/DefaultWhiteboard.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/DefaultWhiteboard.java
@@ -16,10 +16,10 @@
  */
 package org.apache.jackrabbit.oak.spi.whiteboard;
 
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.Maps.newHashMap;
-import static com.google.common.collect.Sets.newIdentityHashSet;
+import static org.apache.jackrabbit.guava.common.base.Preconditions.checkArgument;
+import static org.apache.jackrabbit.guava.common.base.Preconditions.checkNotNull;
+import static org.apache.jackrabbit.guava.common.collect.Maps.newHashMap;
+import static org.apache.jackrabbit.guava.common.collect.Sets.newIdentityHashSet;
 import static java.util.Collections.emptyList;
 
 import java.util.List;
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUtils.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUtils.java
index 00d904d5f2..a9072d1cdb 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUtils.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUtils.java
@@ -30,9 +30,9 @@ import org.apache.jackrabbit.oak.spi.GuavaDeprecation;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Iterables;
+import org.apache.jackrabbit.guava.common.collect.ImmutableList;
+import org.apache.jackrabbit.guava.common.collect.ImmutableMap;
+import org.apache.jackrabbit.guava.common.collect.Iterables;
 
 import static org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.ScheduleExecutionInstanceTypes.DEFAULT;
 import static org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.ScheduleExecutionInstanceTypes.RUN_ON_LEADER;
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/stats/DefaultStatisticsProvider.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/stats/DefaultStatisticsProvider.java
index 6f5177cb12..56077795f8 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/stats/DefaultStatisticsProvider.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/stats/DefaultStatisticsProvider.java
@@ -23,7 +23,7 @@ import java.util.Map;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.atomic.AtomicLong;
 
-import com.google.common.collect.Maps;
+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.stats.RepositoryStatisticsImpl;
diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/stats/StopwatchLogger.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/stats/StopwatchLogger.java
index b08e431b53..abd4ffa1e1 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/stats/StopwatchLogger.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/stats/StopwatchLogger.java
@@ -16,7 +16,7 @@
  */
 package org.apache.jackrabbit.oak.stats;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static org.apache.jackrabbit.guava.common.base.Preconditions.checkNotNull;
 import static java.util.concurrent.Executors.newSingleThreadScheduledExecutor;
 
 import java.io.Closeable;
diff --git a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/CacheSizeTest.java b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/CacheSizeTest.java
index e3fb379495..bcd05a9a82 100644
--- a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/CacheSizeTest.java
+++ b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/CacheSizeTest.java
@@ -23,9 +23,9 @@ import java.util.concurrent.ExecutionException;
 import org.apache.jackrabbit.oak.cache.CacheLIRS.EvictionCallback;
 import org.junit.Test;
 
-import com.google.common.cache.CacheLoader;
-import com.google.common.cache.RemovalCause;
-import com.google.common.cache.Weigher;
+import org.apache.jackrabbit.guava.common.cache.CacheLoader;
+import org.apache.jackrabbit.guava.common.cache.RemovalCause;
+import org.apache.jackrabbit.guava.common.cache.Weigher;
 
 /**
  * Test the maximum cache size (for the FileCache).
diff --git a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/CacheStatsTest.java b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/CacheStatsTest.java
index 93214bb1ff..2f0e3e4894 100644
--- a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/CacheStatsTest.java
+++ b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/CacheStatsTest.java
@@ -24,9 +24,9 @@ import static org.junit.Assert.assertTrue;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutionException;
 
-import com.google.common.cache.Cache;
-import com.google.common.cache.CacheBuilder;
-import com.google.common.cache.Weigher;
+import org.apache.jackrabbit.guava.common.cache.Cache;
+import org.apache.jackrabbit.guava.common.cache.CacheBuilder;
+import org.apache.jackrabbit.guava.common.cache.Weigher;
 import org.jetbrains.annotations.NotNull;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/CacheTest.java b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/CacheTest.java
index dc7c6a2c06..ec3867b423 100644
--- a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/CacheTest.java
+++ b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/CacheTest.java
@@ -18,7 +18,7 @@
  */
 package org.apache.jackrabbit.oak.cache;
 
-import static com.google.common.collect.Sets.newHashSet;
+import static org.apache.jackrabbit.guava.common.collect.Sets.newHashSet;
 import static java.lang.String.valueOf;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -41,11 +41,11 @@ import java.util.concurrent.ExecutionException;
 import org.apache.jackrabbit.oak.cache.CacheLIRS.EvictionCallback;
 import org.junit.Test;
 
-import com.google.common.cache.CacheLoader;
-import com.google.common.cache.RemovalCause;
-import com.google.common.cache.Weigher;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.common.util.concurrent.SettableFuture;
+import org.apache.jackrabbit.guava.common.cache.CacheLoader;
+import org.apache.jackrabbit.guava.common.cache.RemovalCause;
+import org.apache.jackrabbit.guava.common.cache.Weigher;
+import org.apache.jackrabbit.guava.common.util.concurrent.ListenableFuture;
+import org.apache.jackrabbit.guava.common.util.concurrent.SettableFuture;
 
 /**
  * Tests the LIRS cache.
diff --git a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/ConcurrentPerformanceTest.java b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/ConcurrentPerformanceTest.java
index 0e13f52444..e1b905fd92 100644
--- a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/ConcurrentPerformanceTest.java
+++ b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/cache/ConcurrentPerformanceTest.java
@@ -29,8 +29,8 @@ import java.util.concurrent.atomic.AtomicInteger;
 import org.junit.Ignore;
 import org.junit.Test;
 
-import com.google.common.cache.Cache;
-import com.google.common.cache.CacheBuilder;
+import org.apache.jackrabbit.guava.common.cache.Cache;
+import org.apache.jackrabbit.guava.common.cache.CacheBuilder;
 
 /**
  * Compares the LIRS cache by concurrently reading.
diff --git a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/commons/jmx/ManagementOperationTest.java b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/commons/jmx/ManagementOperationTest.java
index e6717df050..2f3ec9b809 100644
--- a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/commons/jmx/ManagementOperationTest.java
+++ b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/commons/jmx/ManagementOperationTest.java
@@ -19,12 +19,12 @@
 
 package org.apache.jackrabbit.oak.commons.jmx;
 
-import static com.google.common.util.concurrent.MoreExecutors.listeningDecorator;
-import static com.google.common.util.concurrent.MoreExecutors.sameThreadExecutor;
 import static java.lang.Thread.currentThread;
 import static java.lang.Thread.sleep;
 import static java.util.concurrent.Executors.newCachedThreadPool;
 import static java.util.concurrent.TimeUnit.SECONDS;
+import static org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors.directExecutor;
+import static org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors.listeningDecorator;
 import static org.apache.jackrabbit.oak.api.jmx.RepositoryManagementMBean.StatusCode.FAILED;
 import static org.apache.jackrabbit.oak.api.jmx.RepositoryManagementMBean.StatusCode.RUNNING;
 import static org.apache.jackrabbit.oak.api.jmx.RepositoryManagementMBean.StatusCode.SUCCEEDED;
@@ -40,8 +40,7 @@ import java.util.concurrent.TimeoutException;
 
 import javax.management.openmbean.CompositeData;
 
-import com.google.common.util.concurrent.ListeningExecutorService;
-import org.apache.jackrabbit.oak.commons.jmx.ManagementOperation;
+import org.apache.jackrabbit.guava.common.util.concurrent.ListeningExecutorService;
 import org.apache.jackrabbit.oak.commons.jmx.ManagementOperation.Status;
 import org.junit.After;
 import org.junit.Before;
@@ -65,7 +64,7 @@ public class ManagementOperationTest {
         ManagementOperation<Integer> op = ManagementOperation.done("test", 42);
         assertTrue(op.isDone());
         assertEquals(42, (int) op.get());
-        sameThreadExecutor().execute(op);
+        directExecutor().execute(op);
     }
 
     @Test
diff --git a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/osgi/OsgiUtilTest.java b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/osgi/OsgiUtilTest.java
index 22d6bd8a96..a9c11ea218 100644
--- a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/osgi/OsgiUtilTest.java
+++ b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/osgi/OsgiUtilTest.java
@@ -27,7 +27,7 @@ import org.osgi.service.component.ComponentContext;
 import java.util.Dictionary;
 import java.util.Map;
 
-import static com.google.common.collect.Maps.newLinkedHashMap;
+import static org.apache.jackrabbit.guava.common.collect.Maps.newLinkedHashMap;
 import static org.apache.jackrabbit.oak.osgi.OsgiUtil.appendEscapedLdapValue;
 import static org.apache.jackrabbit.oak.osgi.OsgiUtil.appendLdapFilterAttribute;
 import static org.apache.jackrabbit.oak.osgi.OsgiUtil.getFilter;
diff --git a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/mount/MountInfoTest.java b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/mount/MountInfoTest.java
index 2172e049f2..d8763fc186 100644
--- a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/mount/MountInfoTest.java
+++ b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/mount/MountInfoTest.java
@@ -19,7 +19,7 @@
 
 package org.apache.jackrabbit.oak.spi.mount;
 
-import static com.google.common.collect.ImmutableList.of;
+import static org.apache.jackrabbit.guava.common.collect.ImmutableList.of;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
diff --git a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProviderTest.java b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProviderTest.java
index 2cfeed633a..039aab9578 100644
--- a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProviderTest.java
+++ b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProviderTest.java
@@ -19,7 +19,7 @@
 
 package org.apache.jackrabbit.oak.spi.mount;
 
-import com.google.common.collect.ImmutableSet;
+import org.apache.jackrabbit.guava.common.collect.ImmutableSet;
 import java.util.Collection;
 import java.util.Collections;
 
diff --git a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/observation/ChangeSetBuilderTest.java b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/observation/ChangeSetBuilderTest.java
index d01c4f02b1..8c8ac23981 100644
--- a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/observation/ChangeSetBuilderTest.java
+++ b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/observation/ChangeSetBuilderTest.java
@@ -21,7 +21,7 @@ package org.apache.jackrabbit.oak.spi.observation;
 
 import org.junit.Test;
 
-import static com.google.common.collect.ImmutableSet.of;
+import static org.apache.jackrabbit.guava.common.collect.ImmutableSet.of;
 import static org.hamcrest.collection.IsIterableContainingInAnyOrder.containsInAnyOrder;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
diff --git a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/observation/ChangeSetTest.java b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/observation/ChangeSetTest.java
index a9bbd93e1b..a326e32ccc 100644
--- a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/observation/ChangeSetTest.java
+++ b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/observation/ChangeSetTest.java
@@ -19,10 +19,10 @@
 
 package org.apache.jackrabbit.oak.spi.observation;
 
-import com.google.common.collect.ImmutableSet;
+import org.apache.jackrabbit.guava.common.collect.ImmutableSet;
 import org.junit.Test;
 
-import static com.google.common.collect.ImmutableSet.of;
+import static org.apache.jackrabbit.guava.common.collect.ImmutableSet.of;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
diff --git a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/whiteboard/DefaultWhiteboardTest.java b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/whiteboard/DefaultWhiteboardTest.java
index 675bbd057f..e62289ed25 100644
--- a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/whiteboard/DefaultWhiteboardTest.java
+++ b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/spi/whiteboard/DefaultWhiteboardTest.java
@@ -16,14 +16,14 @@
  */
 package org.apache.jackrabbit.oak.spi.whiteboard;
 
-import com.google.common.collect.ImmutableMap;
+import org.apache.jackrabbit.guava.common.collect.ImmutableMap;
 import org.junit.Before;
 import org.junit.Test;
 
 import java.util.Map;
 import java.util.Set;
 
-import static com.google.common.collect.ImmutableSet.of;
+import static org.apache.jackrabbit.guava.common.collect.ImmutableSet.of;
 import static java.util.Collections.singletonMap;
 import static java.util.stream.Collectors.toSet;
 import static org.junit.Assert.assertEquals;
diff --git a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/stats/StatisticManagerTest.java b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/stats/StatisticManagerTest.java
index 03ed911664..187bdf794a 100644
--- a/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/stats/StatisticManagerTest.java
+++ b/oak-core-spi/src/test/java/org/apache/jackrabbit/oak/stats/StatisticManagerTest.java
@@ -25,7 +25,7 @@ import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.atomic.AtomicLong;
 
-import com.google.common.collect.Maps;
+import org.apache.jackrabbit.guava.common.collect.Maps;
 import org.apache.jackrabbit.api.jmx.QueryStatManagerMBean;
 import org.apache.jackrabbit.api.stats.RepositoryStatistics;
 import org.apache.jackrabbit.api.stats.RepositoryStatistics.Type;
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/cache/impl/CacheStatsMetricsTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/cache/impl/CacheStatsMetricsTest.java
index d28ad7d097..46afc9ece7 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/cache/impl/CacheStatsMetricsTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/cache/impl/CacheStatsMetricsTest.java
@@ -94,8 +94,8 @@ public class CacheStatsMetricsTest {
         }
 
         @Override
-        protected com.google.common.cache.CacheStats getCurrentStats() {
-            return new com.google.common.cache.CacheStats(
+        protected org.apache.jackrabbit.guava.common.cache.CacheStats getCurrentStats() {
+            return new org.apache.jackrabbit.guava.common.cache.CacheStats(
                     HIT_COUNT, MISS_COUNT, MISS_COUNT, 0, LOAD_TIME, EVICTION_COUNT);
         }
 
diff --git a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreHelper.java b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreHelper.java
index d68320ea29..03fb649ef2 100644
--- a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreHelper.java
+++ b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreHelper.java
@@ -23,19 +23,9 @@ import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
 import java.util.PriorityQueue;
-import com.google.common.base.Function;
-import com.google.common.base.Stopwatch;
-import com.google.common.cache.Cache;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-import com.google.common.primitives.Longs;
-import com.mongodb.BasicDBObject;
-import com.mongodb.DBObject;
-import com.mongodb.client.FindIterable;
-import com.mongodb.client.MongoCollection;
-import com.mongodb.client.model.Filters;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.jackrabbit.guava.common.cache.Cache;
 import org.apache.jackrabbit.oak.api.Blob;
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Type;
@@ -47,6 +37,17 @@ import org.apache.jackrabbit.oak.plugins.document.util.Utils;
 import org.bson.conversions.Bson;
 import org.jetbrains.annotations.Nullable;
 
+import com.google.common.base.Function;
+import com.google.common.base.Stopwatch;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.common.primitives.Longs;
+import com.mongodb.BasicDBObject;
+import com.mongodb.DBObject;
+import com.mongodb.client.FindIterable;
+import com.mongodb.client.MongoCollection;
+import com.mongodb.client.model.Filters;
+
 /**
  * Helper class to access package private method of DocumentNodeStore and other
  * classes in this package.
diff --git a/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/ExtractedTextCache.java b/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/ExtractedTextCache.java
index bd8e2cb556..5ee0fcf2e9 100644
--- a/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/ExtractedTextCache.java
+++ b/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/ExtractedTextCache.java
@@ -19,6 +19,8 @@
 
 package org.apache.jackrabbit.oak.plugins.index.search;
 
+import static org.apache.jackrabbit.oak.commons.PathUtils.concat;
+
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
@@ -37,9 +39,9 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import com.google.common.cache.Cache;
-import com.google.common.cache.CacheBuilder;
-import com.google.common.cache.Weigher;
+import org.apache.jackrabbit.guava.common.cache.Cache;
+import org.apache.jackrabbit.guava.common.cache.CacheBuilder;
+import org.apache.jackrabbit.guava.common.cache.Weigher;
 import org.apache.jackrabbit.oak.api.Blob;
 import org.apache.jackrabbit.oak.cache.CacheStats;
 import org.apache.jackrabbit.oak.commons.IOUtils;
@@ -53,8 +55,6 @@ import org.jetbrains.annotations.Nullable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static org.apache.jackrabbit.oak.commons.PathUtils.concat;
-
 /**
  * A cache to avoid extracting text of binaries that were already processed (in
  * a different node that references the same binary).
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/CacheWeights.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/CacheWeights.java
index fc7ffb83cb..38033a2148 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/CacheWeights.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/CacheWeights.java
@@ -20,11 +20,10 @@ package org.apache.jackrabbit.oak.segment;
 
 import static org.apache.jackrabbit.oak.commons.StringUtils.estimateMemoryUsage;
 
+import org.apache.jackrabbit.guava.common.cache.Weigher;
 import org.apache.jackrabbit.oak.segment.ReaderCache.CacheKey;
 import org.jetbrains.annotations.NotNull;
 
-import com.google.common.cache.Weigher;
-
 public final class CacheWeights {
 
     public static final int OBJECT_HEADER_SIZE = 12;
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/ReaderCache.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/ReaderCache.java
index 3ac9dcc4c9..60d9fd04a2 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/ReaderCache.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/ReaderCache.java
@@ -24,13 +24,13 @@ import static org.apache.jackrabbit.oak.segment.CacheWeights.OBJECT_HEADER_SIZE;
 
 import java.util.Arrays;
 
+import org.apache.jackrabbit.guava.common.cache.Weigher;
 import org.apache.jackrabbit.oak.cache.CacheLIRS;
 import org.apache.jackrabbit.oak.cache.CacheStats;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import com.google.common.base.Function;
-import com.google.common.cache.Weigher;
 
 /**
  * A cache consisting of a fast and slow component. The fast cache for small items is based
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/RecordCache.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/RecordCache.java
index 305c4c3400..69317a3668 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/RecordCache.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/RecordCache.java
@@ -24,12 +24,12 @@ import static com.google.common.base.Preconditions.checkNotNull;
 import java.util.LinkedHashMap;
 import java.util.Map;
 
-import com.google.common.base.Supplier;
-import com.google.common.cache.CacheStats;
-import com.google.common.cache.Weigher;
-
+import org.apache.jackrabbit.guava.common.cache.CacheStats;
+import org.apache.jackrabbit.guava.common.cache.Weigher;
 import org.jetbrains.annotations.NotNull;
 
+import com.google.common.base.Supplier;
+
 /**
  * Partial mapping of keys of type {@code K} to values of type {@link RecordId}. This is
  * typically used for de-duplicating values that have already been persisted and thus
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/RecordCacheStats.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/RecordCacheStats.java
index eccb031654..dda65df570 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/RecordCacheStats.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/RecordCacheStats.java
@@ -21,11 +21,12 @@ package org.apache.jackrabbit.oak.segment;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-import com.google.common.base.Supplier;
-import com.google.common.cache.CacheStats;
+import org.apache.jackrabbit.guava.common.cache.CacheStats;
 import org.apache.jackrabbit.oak.cache.AbstractCacheStats;
 import org.jetbrains.annotations.NotNull;
 
+import com.google.common.base.Supplier;
+
 /**
  * Statistics for {@link RecordCache}.
  */
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentCache.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentCache.java
old mode 100644
new mode 100755
index 930259c2a2..d03ce6a79a
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentCache.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentCache.java
@@ -28,10 +28,10 @@ import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.function.Supplier;
 
-import com.google.common.cache.Cache;
-import com.google.common.cache.CacheBuilder;
-import com.google.common.cache.CacheStats;
-import com.google.common.cache.RemovalNotification;
+import org.apache.jackrabbit.guava.common.cache.Cache;
+import org.apache.jackrabbit.guava.common.cache.CacheBuilder;
+import org.apache.jackrabbit.guava.common.cache.CacheStats;
+import org.apache.jackrabbit.guava.common.cache.RemovalNotification;
 import org.apache.jackrabbit.oak.cache.AbstractCacheStats;
 import org.apache.jackrabbit.oak.segment.CacheWeights.SegmentCacheWeigher;
 import org.jetbrains.annotations.NotNull;
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 2295e2e467..7580d0fc51 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
@@ -29,16 +29,17 @@ import static org.apache.jackrabbit.oak.segment.RecordCache.newRecordCache;
 import java.util.Iterator;
 import java.util.concurrent.ConcurrentMap;
 
-import com.google.common.base.Function;
-import com.google.common.base.Predicate;
-import com.google.common.base.Supplier;
-import com.google.common.cache.CacheStats;
+import org.apache.jackrabbit.guava.common.cache.CacheStats;
 import org.apache.jackrabbit.oak.api.jmx.CacheStatsMBean;
 import org.apache.jackrabbit.oak.segment.file.PriorityCache;
 import org.apache.jackrabbit.oak.stats.StatisticsProvider;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
+import com.google.common.base.Function;
+import com.google.common.base.Predicate;
+import com.google.common.base.Supplier;
+
 /**
  * Instances of this class manage the deduplication caches used by the {@link
  * SegmentWriter} to avoid writing multiple copies of the same record. The
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/PriorityCache.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/PriorityCache.java
index 02b1cbf638..f7132417af 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/PriorityCache.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/PriorityCache.java
@@ -27,14 +27,14 @@ import static java.lang.Long.numberOfLeadingZeros;
 import static java.lang.Math.max;
 import static java.util.Arrays.fill;
 
+import org.apache.jackrabbit.guava.common.cache.CacheStats;
+import org.apache.jackrabbit.guava.common.cache.Weigher;
 import org.apache.jackrabbit.oak.segment.CacheWeights;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import com.google.common.base.Predicate;
 import com.google.common.base.Supplier;
-import com.google.common.cache.CacheStats;
-import com.google.common.cache.Weigher;
 
 /**
  * {@code PriorityCache} implements a partial mapping from keys of type {@code K} to values
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/persistentcache/SegmentCacheStats.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/persistentcache/SegmentCacheStats.java
index c94409966d..be3ad7df36 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/persistentcache/SegmentCacheStats.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/persistentcache/SegmentCacheStats.java
@@ -17,15 +17,15 @@
  */
 package org.apache.jackrabbit.oak.segment.spi.persistence.persistentcache;
 
-import com.google.common.cache.CacheStats;
-import org.apache.jackrabbit.oak.cache.AbstractCacheStats;
-import org.jetbrains.annotations.NotNull;
+import static com.google.common.base.Preconditions.checkNotNull;
 
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.function.Supplier;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import org.apache.jackrabbit.guava.common.cache.CacheStats;
+import org.apache.jackrabbit.oak.cache.AbstractCacheStats;
+import org.jetbrains.annotations.NotNull;
 
 public class SegmentCacheStats extends AbstractCacheStats {
     private final @NotNull Supplier<Long> maximumWeight;
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/persistentcache/package-info.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/persistentcache/package-info.java
index 213fa6e498..24f8441827 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/persistentcache/package-info.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/persistentcache/package-info.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 @Internal(since = "1.0.0")
-@Version("3.0.0")
+@Version("4.0.0")
 package org.apache.jackrabbit.oak.segment.spi.persistence.persistentcache;
 
 import org.apache.jackrabbit.oak.commons.annotations.Internal;
diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/RecordCacheStatsTest.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/RecordCacheStatsTest.java
index 222a280180..f15d57c67d 100644
--- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/RecordCacheStatsTest.java
+++ b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/RecordCacheStatsTest.java
@@ -24,12 +24,13 @@ import static org.junit.Assert.assertEquals;
 import java.io.IOException;
 import java.util.Random;
 
-import com.google.common.base.Supplier;
-import com.google.common.cache.CacheStats;
+import org.apache.jackrabbit.guava.common.cache.CacheStats;
 import org.apache.jackrabbit.oak.segment.memory.MemoryStore;
 import org.junit.Before;
 import org.junit.Test;
 
+import com.google.common.base.Supplier;
+
 public class RecordCacheStatsTest {
     private static final String NAME = "cache stats";
     private static final int KEYS = 100;
diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/PriorityCacheTest.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/PriorityCacheTest.java
index cdb959ae32..4f0842e0d8 100644
--- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/PriorityCacheTest.java
+++ b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/PriorityCacheTest.java
@@ -28,11 +28,12 @@ import static org.junit.Assume.assumeTrue;
 
 import java.util.Random;
 
-import com.google.common.base.Predicate;
-import com.google.common.cache.Weigher;
+import org.apache.jackrabbit.guava.common.cache.Weigher;
 import org.apache.jackrabbit.oak.segment.CacheWeights;
 import org.junit.Test;
 
+import com.google.common.base.Predicate;
+
 public class PriorityCacheTest {
 
     @Test(expected = IllegalArgumentException.class)
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 4bf55f41cc..be7b0279c9 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
@@ -35,13 +35,11 @@ import static org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBuilde
 import static org.apache.jackrabbit.oak.plugins.document.NodeDocument.MODIFIED_IN_SECS_RESOLUTION;
 import static org.apache.jackrabbit.oak.plugins.document.NodeDocument.PATH;
 import static org.apache.jackrabbit.oak.plugins.document.Path.ROOT;
-import static org.apache.jackrabbit.oak.plugins.document.UpdateOp.Key;
-import static org.apache.jackrabbit.oak.plugins.document.UpdateOp.Operation;
 import static org.apache.jackrabbit.oak.plugins.document.util.Utils.alignWithExternalRevisions;
 import static org.apache.jackrabbit.oak.plugins.document.util.Utils.getIdFromPath;
 import static org.apache.jackrabbit.oak.plugins.document.util.Utils.getModuleVersion;
-import static org.apache.jackrabbit.oak.plugins.document.util.Utils.pathToId;
 import static org.apache.jackrabbit.oak.plugins.document.util.Utils.isThrottlingEnabled;
+import static org.apache.jackrabbit.oak.plugins.document.util.Utils.pathToId;
 import static org.apache.jackrabbit.oak.spi.observation.ChangeSet.COMMIT_CONTEXT_OBSERVATION_CHANGESET;
 
 import java.io.Closeable;
@@ -70,46 +68,35 @@ import java.util.concurrent.locks.ReentrantReadWriteLock;
 
 import javax.jcr.PropertyType;
 
-import com.google.common.base.Function;
-import com.google.common.base.Predicate;
-import com.google.common.base.Stopwatch;
-import com.google.common.base.Strings;
-import com.google.common.base.Supplier;
-import com.google.common.base.Suppliers;
-import com.google.common.cache.Cache;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-import com.google.common.util.concurrent.UncheckedExecutionException;
-
+import org.apache.jackrabbit.guava.common.cache.Cache;
+import org.apache.jackrabbit.oak.api.Blob;
+import org.apache.jackrabbit.oak.api.CommitFailedException;
 import org.apache.jackrabbit.oak.api.PropertyState;
+import org.apache.jackrabbit.oak.cache.CacheStats;
+import org.apache.jackrabbit.oak.commons.PerfLogger;
+import org.apache.jackrabbit.oak.commons.json.JsopStream;
+import org.apache.jackrabbit.oak.commons.json.JsopWriter;
 import org.apache.jackrabbit.oak.commons.properties.SystemPropertySupplier;
+import org.apache.jackrabbit.oak.json.BlobSerializer;
 import org.apache.jackrabbit.oak.plugins.blob.BlobStoreBlob;
 import org.apache.jackrabbit.oak.plugins.blob.MarkSweepGarbageCollector;
 import org.apache.jackrabbit.oak.plugins.blob.ReferencedBlob;
 import org.apache.jackrabbit.oak.plugins.document.Branch.BranchCommit;
+import org.apache.jackrabbit.oak.plugins.document.UpdateOp.Key;
+import org.apache.jackrabbit.oak.plugins.document.UpdateOp.Operation;
 import org.apache.jackrabbit.oak.plugins.document.bundlor.BundledDocumentDiffer;
 import org.apache.jackrabbit.oak.plugins.document.bundlor.BundlingConfigHandler;
 import org.apache.jackrabbit.oak.plugins.document.bundlor.DocumentBundlor;
 import org.apache.jackrabbit.oak.plugins.document.persistentCache.PersistentCache;
 import org.apache.jackrabbit.oak.plugins.document.persistentCache.broadcast.DynamicBroadcastConfig;
 import org.apache.jackrabbit.oak.plugins.document.prefetch.CacheWarming;
-import org.apache.jackrabbit.oak.plugins.document.util.ReadOnlyDocumentStoreWrapperFactory;
-import org.apache.jackrabbit.oak.spi.blob.BlobStore;
-import org.apache.jackrabbit.oak.commons.json.JsopStream;
-import org.apache.jackrabbit.oak.commons.json.JsopWriter;
-import org.apache.jackrabbit.oak.api.Blob;
-import org.apache.jackrabbit.oak.api.CommitFailedException;
-import org.apache.jackrabbit.oak.cache.CacheStats;
-import org.apache.jackrabbit.oak.json.BlobSerializer;
 import org.apache.jackrabbit.oak.plugins.document.util.LeaseCheckDocumentStoreWrapper;
 import org.apache.jackrabbit.oak.plugins.document.util.LoggingDocumentStoreWrapper;
+import org.apache.jackrabbit.oak.plugins.document.util.ReadOnlyDocumentStoreWrapperFactory;
+import org.apache.jackrabbit.oak.plugins.document.util.ThrottlingDocumentStoreWrapper;
 import org.apache.jackrabbit.oak.plugins.document.util.TimingDocumentStoreWrapper;
 import org.apache.jackrabbit.oak.plugins.document.util.Utils;
-import org.apache.jackrabbit.oak.plugins.document.util.ThrottlingDocumentStoreWrapper;
+import org.apache.jackrabbit.oak.spi.blob.BlobStore;
 import org.apache.jackrabbit.oak.spi.blob.GarbageCollectableBlobStore;
 import org.apache.jackrabbit.oak.spi.commit.ChangeDispatcher;
 import org.apache.jackrabbit.oak.spi.commit.CommitContext;
@@ -130,13 +117,26 @@ import org.apache.jackrabbit.oak.spi.state.PrefetchNodeStore;
 import org.apache.jackrabbit.oak.spi.toggle.Feature;
 import org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard;
 import org.apache.jackrabbit.oak.stats.Clock;
-import org.apache.jackrabbit.oak.commons.PerfLogger;
 import org.apache.jackrabbit.oak.stats.StatisticsProvider;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.base.Function;
+import com.google.common.base.Predicate;
+import com.google.common.base.Stopwatch;
+import com.google.common.base.Strings;
+import com.google.common.base.Supplier;
+import com.google.common.base.Suppliers;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
+import com.google.common.util.concurrent.UncheckedExecutionException;
+
 /**
  * Implementation of a NodeStore on {@link DocumentStore}.
  */
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreBuilder.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreBuilder.java
index 067c12082c..861961f112 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreBuilder.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreBuilder.java
@@ -16,6 +16,13 @@
  */
 package org.apache.jackrabbit.oak.plugins.document;
 
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Suppliers.ofInstance;
+import static java.util.Objects.isNull;
+import static org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.DEFAULT_JOURNAL_GC_MAX_AGE_MILLIS;
+import static org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.DEFAULT_VER_GC_MAX_AGE;
+
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
@@ -23,17 +30,12 @@ import java.util.concurrent.CopyOnWriteArraySet;
 import java.util.concurrent.Executor;
 import java.util.concurrent.TimeUnit;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
-import com.google.common.base.Supplier;
-import com.google.common.cache.Cache;
-import com.google.common.cache.CacheBuilder;
-import com.google.common.cache.RemovalCause;
-import com.google.common.cache.RemovalListener;
-import com.google.common.cache.RemovalNotification;
-import com.google.common.cache.Weigher;
-import com.google.common.util.concurrent.MoreExecutors;
-
+import org.apache.jackrabbit.guava.common.cache.Cache;
+import org.apache.jackrabbit.guava.common.cache.CacheBuilder;
+import org.apache.jackrabbit.guava.common.cache.RemovalCause;
+import org.apache.jackrabbit.guava.common.cache.RemovalListener;
+import org.apache.jackrabbit.guava.common.cache.RemovalNotification;
+import org.apache.jackrabbit.guava.common.cache.Weigher;
 import org.apache.jackrabbit.oak.cache.CacheLIRS;
 import org.apache.jackrabbit.oak.cache.CacheStats;
 import org.apache.jackrabbit.oak.cache.CacheValue;
@@ -64,12 +66,10 @@ import org.jetbrains.annotations.Nullable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.base.Suppliers.ofInstance;
-import static java.util.Objects.isNull;
-import static org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.DEFAULT_JOURNAL_GC_MAX_AGE_MILLIS;
-import static org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.DEFAULT_VER_GC_MAX_AGE;
+import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
+import com.google.common.base.Supplier;
+import com.google.common.util.concurrent.MoreExecutors;
 
 /**
  * A generic builder for a {@link DocumentNodeStore}. By default the builder
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/LocalDiffCache.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/LocalDiffCache.java
index d8d83ffa39..0ab1baa574 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/LocalDiffCache.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/LocalDiffCache.java
@@ -19,9 +19,9 @@ package org.apache.jackrabbit.oak.plugins.document;
 import java.util.Collections;
 import java.util.Map;
 
-import com.google.common.cache.Cache;
 import com.google.common.collect.Maps;
 
+import org.apache.jackrabbit.guava.common.cache.Cache;
 import org.apache.jackrabbit.oak.cache.CacheStats;
 import org.apache.jackrabbit.oak.cache.CacheValue;
 import org.apache.jackrabbit.oak.commons.json.JsopBuilder;
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/MemoryDiffCache.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/MemoryDiffCache.java
index 1a05c9b827..b53a337eea 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/MemoryDiffCache.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/MemoryDiffCache.java
@@ -20,13 +20,13 @@ import java.util.Collections;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutionException;
 
+import org.apache.jackrabbit.guava.common.cache.Cache;
 import org.apache.jackrabbit.oak.cache.CacheStats;
 import org.apache.jackrabbit.oak.cache.CacheValue;
 import org.apache.jackrabbit.oak.plugins.document.util.StringValue;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
-import com.google.common.cache.Cache;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/cache/NodeDocumentCache.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/cache/NodeDocumentCache.java
index dc28e01fcf..ffead9bce9 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/cache/NodeDocumentCache.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/cache/NodeDocumentCache.java
@@ -16,6 +16,8 @@
  */
 package org.apache.jackrabbit.oak.plugins.document.cache;
 
+import static org.apache.jackrabbit.oak.plugins.document.util.Utils.isLeafPreviousDocId;
+
 import java.io.Closeable;
 import java.io.IOException;
 import java.util.Iterator;
@@ -28,9 +30,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.locks.Lock;
 
-import com.google.common.base.Predicate;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
+import org.apache.jackrabbit.guava.common.cache.Cache;
 import org.apache.jackrabbit.oak.cache.CacheStats;
 import org.apache.jackrabbit.oak.cache.CacheValue;
 import org.apache.jackrabbit.oak.plugins.document.Document;
@@ -41,9 +41,9 @@ import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import com.google.common.base.Objects;
-import com.google.common.cache.Cache;
-
-import static org.apache.jackrabbit.oak.plugins.document.util.Utils.isLeafPreviousDocId;
+import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
 
 /**
  * Cache for the NodeDocuments. This class is thread-safe and uses the provided NodeDocumentLock.
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/EvictionListener.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/EvictionListener.java
index f1a149005f..579b58a34d 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/EvictionListener.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/EvictionListener.java
@@ -16,7 +16,7 @@
  */
 package org.apache.jackrabbit.oak.plugins.document.persistentCache;
 
-import com.google.common.cache.RemovalCause;
+import org.apache.jackrabbit.guava.common.cache.RemovalCause;
 
 /**
  * A listener that gets notified of entries that were removed from the cache.
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/NodeCache.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/NodeCache.java
index 4df170f508..239912c433 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/NodeCache.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/NodeCache.java
@@ -18,11 +18,11 @@ package org.apache.jackrabbit.oak.plugins.document.persistentCache;
 
 import static com.google.common.base.Predicates.in;
 import static com.google.common.base.Predicates.not;
-import static com.google.common.cache.RemovalCause.COLLECTED;
-import static com.google.common.cache.RemovalCause.EXPIRED;
-import static com.google.common.cache.RemovalCause.SIZE;
 import static com.google.common.collect.Iterables.filter;
 import static java.util.Collections.singleton;
+import static org.apache.jackrabbit.guava.common.cache.RemovalCause.COLLECTED;
+import static org.apache.jackrabbit.guava.common.cache.RemovalCause.EXPIRED;
+import static org.apache.jackrabbit.guava.common.cache.RemovalCause.SIZE;
 
 import java.nio.ByteBuffer;
 import java.util.Collections;
@@ -32,6 +32,11 @@ import java.util.concurrent.Callable;
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.ExecutionException;
 
+import org.apache.jackrabbit.guava.common.cache.Cache;
+import org.apache.jackrabbit.guava.common.cache.CacheStats;
+import org.apache.jackrabbit.guava.common.cache.RemovalCause;
+import org.apache.jackrabbit.guava.common.collect.ImmutableMap;
+import org.apache.jackrabbit.guava.common.collect.ImmutableSet;
 import org.apache.jackrabbit.oak.cache.CacheValue;
 import org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore;
 import org.apache.jackrabbit.oak.plugins.document.DocumentStore;
@@ -44,16 +49,11 @@ import org.h2.mvstore.MVMap;
 import org.h2.mvstore.WriteBuffer;
 import org.h2.mvstore.type.DataType;
 import org.jetbrains.annotations.Nullable;
-
-import com.google.common.base.Function;
-import com.google.common.cache.Cache;
-import com.google.common.cache.CacheStats;
-import com.google.common.cache.RemovalCause;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.base.Function;
+
 class NodeCache<K extends CacheValue, V extends  CacheValue>
         implements Cache<K, V>, GenerationCache, EvictionListener<K, V> {
 
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/PersistentCache.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/PersistentCache.java
index a6227debb1..2b5c4ad40d 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/PersistentCache.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/PersistentCache.java
@@ -26,6 +26,7 @@ import java.util.TreeSet;
 import java.util.UUID;
 import java.util.concurrent.atomic.AtomicInteger;
 
+import org.apache.jackrabbit.guava.common.cache.Cache;
 import org.apache.jackrabbit.oak.cache.CacheValue;
 import org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore;
 import org.apache.jackrabbit.oak.plugins.document.DocumentStore;
@@ -46,7 +47,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Function;
-import com.google.common.cache.Cache;
 
 /**
  * A persistent cache for the document store.
diff --git a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/AsyncCacheTest.java b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/AsyncCacheTest.java
index 43c97a5603..b983a1b7cd 100644
--- a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/AsyncCacheTest.java
+++ b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/AsyncCacheTest.java
@@ -16,16 +16,15 @@
  */
 package org.apache.jackrabbit.oak.plugins.document;
 
-import java.io.File;
+import static org.junit.Assert.assertNull;
 
-import com.google.common.cache.Cache;
+import java.io.File;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.jackrabbit.guava.common.cache.Cache;
 import org.junit.Rule;
 import org.junit.Test;
 
-import static org.junit.Assert.assertNull;
-
 public class AsyncCacheTest {
 
     @Rule
diff --git a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DisableCacheTest.java b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DisableCacheTest.java
index f4657ee26b..a28cc74edd 100644
--- a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DisableCacheTest.java
+++ b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DisableCacheTest.java
@@ -16,19 +16,18 @@
  */
 package org.apache.jackrabbit.oak.plugins.document;
 
-import java.io.File;
+import static org.apache.jackrabbit.oak.plugins.document.DocumentMK.Builder.DEFAULT_CHILDREN_CACHE_PERCENTAGE;
+import static org.apache.jackrabbit.oak.plugins.document.DocumentMK.Builder.DEFAULT_DIFF_CACHE_PERCENTAGE;
+import static org.apache.jackrabbit.oak.plugins.document.DocumentMK.Builder.DEFAULT_PREV_DOC_CACHE_PERCENTAGE;
+import static org.junit.Assert.assertEquals;
 
-import com.google.common.cache.Cache;
+import java.io.File;
 
+import org.apache.jackrabbit.guava.common.cache.Cache;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 
-import static org.apache.jackrabbit.oak.plugins.document.DocumentMK.Builder.DEFAULT_CHILDREN_CACHE_PERCENTAGE;
-import static org.apache.jackrabbit.oak.plugins.document.DocumentMK.Builder.DEFAULT_DIFF_CACHE_PERCENTAGE;
-import static org.apache.jackrabbit.oak.plugins.document.DocumentMK.Builder.DEFAULT_PREV_DOC_CACHE_PERCENTAGE;
-import static org.junit.Assert.assertEquals;
-
 public class DisableCacheTest {
 
     @Rule
diff --git a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/cache/CacheChangesTrackerTest.java b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/cache/CacheChangesTrackerTest.java
index 2541fb3005..3c918348ac 100644
--- a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/cache/CacheChangesTrackerTest.java
+++ b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/cache/CacheChangesTrackerTest.java
@@ -16,9 +16,17 @@
  */
 package org.apache.jackrabbit.oak.plugins.document.cache;
 
-import com.google.common.base.Predicate;
-import com.google.common.cache.Cache;
-import com.google.common.collect.ImmutableSet;
+import static org.apache.jackrabbit.oak.plugins.document.util.Utils.getKeyLowerLimit;
+import static org.apache.jackrabbit.oak.plugins.document.util.Utils.getKeyUpperLimit;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
+
+import org.apache.jackrabbit.guava.common.cache.Cache;
 import org.apache.jackrabbit.oak.cache.CacheLIRS;
 import org.apache.jackrabbit.oak.cache.CacheStats;
 import org.apache.jackrabbit.oak.cache.CacheValue;
@@ -35,14 +43,8 @@ import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mockito;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutionException;
-import static org.apache.jackrabbit.oak.plugins.document.util.Utils.getKeyLowerLimit;
-import static org.apache.jackrabbit.oak.plugins.document.util.Utils.getKeyUpperLimit;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import com.google.common.base.Predicate;
+import com.google.common.collect.ImmutableSet;
 
 public class CacheChangesTrackerTest {
 
diff --git a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/AsyncQueueTest.java b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/AsyncQueueTest.java
index 0445b3b0dc..1423288023 100644
--- a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/AsyncQueueTest.java
+++ b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/AsyncQueueTest.java
@@ -18,8 +18,8 @@
  */
 package org.apache.jackrabbit.oak.plugins.document.persistentCache;
 
-import com.google.common.cache.RemovalCause;
 import org.apache.commons.io.FileUtils;
+import org.apache.jackrabbit.guava.common.cache.RemovalCause;
 import org.apache.jackrabbit.oak.cache.CacheLIRS;
 import org.apache.jackrabbit.oak.plugins.document.DocumentMKBuilderProvider;
 import org.apache.jackrabbit.oak.plugins.document.Path;
diff --git a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/BroadcastTest.java b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/BroadcastTest.java
index 48df5e991c..7d3b3097fd 100644
--- a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/BroadcastTest.java
+++ b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/BroadcastTest.java
@@ -29,6 +29,7 @@ import java.util.Random;
 import java.util.concurrent.Callable;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.jackrabbit.guava.common.cache.Cache;
 import org.apache.jackrabbit.oak.cache.CacheLIRS;
 import org.apache.jackrabbit.oak.plugins.document.MemoryDiffCache.Key;
 import org.apache.jackrabbit.oak.plugins.document.Path;
@@ -47,8 +48,6 @@ import ch.qos.logback.classic.PatternLayout;
 import ch.qos.logback.classic.spi.ILoggingEvent;
 import ch.qos.logback.core.ConsoleAppender;
 
-import com.google.common.cache.Cache;
-
 public class BroadcastTest {
     
     public static void main(String... args) throws Exception {
diff --git a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/CacheTest.java b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/CacheTest.java
index 8b1920aeaa..907dcce08e 100644
--- a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/CacheTest.java
+++ b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/CacheTest.java
@@ -25,9 +25,8 @@ import static org.junit.Assert.assertTrue;
 import java.io.File;
 import java.io.FileOutputStream;
 
-import com.google.common.cache.Cache;
-
 import org.apache.commons.io.FileUtils;
+import org.apache.jackrabbit.guava.common.cache.Cache;
 import org.apache.jackrabbit.oak.cache.CacheLIRS;
 import org.apache.jackrabbit.oak.commons.junit.LogCustomizer;
 import org.apache.jackrabbit.oak.plugins.document.Path;
diff --git a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/NodeCacheTest.java b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/NodeCacheTest.java
index 3c3690640c..b4ce900fee 100644
--- a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/NodeCacheTest.java
+++ b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/NodeCacheTest.java
@@ -19,15 +19,17 @@
 
 package org.apache.jackrabbit.oak.plugins.document.persistentCache;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 import java.io.File;
 import java.util.List;
 import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.function.Consumer;
 
-import com.google.common.cache.RemovalCause;
-import com.google.common.collect.Lists;
-
+import org.apache.jackrabbit.guava.common.cache.RemovalCause;
 import org.apache.jackrabbit.oak.cache.CacheValue;
 import org.apache.jackrabbit.oak.commons.concurrent.ExecutorCloser;
 import org.apache.jackrabbit.oak.json.JsopDiff;
@@ -57,9 +59,7 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import com.google.common.collect.Lists;
 
 public class NodeCacheTest {