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 am...@apache.org on 2016/10/25 04:02:11 UTC
svn commit: r1766468 - in
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob:
FileCache.java UploadStagingCache.java
Author: amitj
Date: Tue Oct 25 04:02:11 2016
New Revision: 1766468
URL: http://svn.apache.org/viewvc?rev=1766468&view=rev
Log:
OAK-4979: Caching sub-system implementation for DataStore
* Empty initialization when 0 configured as cache size
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/FileCache.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/UploadStagingCache.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/FileCache.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/FileCache.java?rev=1766468&r1=1766467&r2=1766468&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/FileCache.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/FileCache.java Tue Oct 25 04:02:11 2016
@@ -65,13 +65,13 @@ public class FileCache extends AbstractC
/**
* The cacheRoot directory of the cache.
*/
- private final File cacheRoot;
+ private File cacheRoot;
- private final CacheLIRS<String, File> cache;
+ private CacheLIRS<String, File> cache;
- private final FileCacheStats cacheStats;
+ private FileCacheStats cacheStats;
- private final ExecutorService executor;
+ private ExecutorService executor;
/**
* Convert the size calculation to KB to support max file size of 2 TB
@@ -148,12 +148,15 @@ public class FileCache extends AbstractC
this.executor.submit(new CacheBuildJob());
}
+ private FileCache() {
+ }
+
public static FileCache build(long maxSize /* bytes */, File root,
final CacheLoader<String, InputStream> loader, @Nullable final ExecutorService executor) {
if (maxSize > 0) {
return new FileCache(maxSize, root, loader, executor);
}
- return new FileCache(maxSize, root, loader, executor) {
+ return new FileCache() {
@Override public void put(String key, File file) {
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/UploadStagingCache.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/UploadStagingCache.java?rev=1766468&r1=1766467&r2=1766468&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/UploadStagingCache.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/UploadStagingCache.java Tue Oct 25 04:02:11 2016
@@ -85,12 +85,12 @@ public class UploadStagingCache implemen
/**
* Max size of the upload staging cache in bytes
*/
- private final long size;
+ private long size;
/**
* Current cache size in bytes
*/
- private final AtomicLong currentSize;
+ private AtomicLong currentSize;
/**
* Executor for async uploads
@@ -105,33 +105,33 @@ public class UploadStagingCache implemen
/**
* In memory map for staged files
*/
- private final ConcurrentMap<String, File> map;
+ private ConcurrentMap<String, File> map;
/**
* In memory map for files to be deleted after uploads
*/
- private final ConcurrentMap<String, File> attic;
+ private ConcurrentMap<String, File> attic;
/**
* Local directory where uploads are staged
*/
- private final File uploadCacheSpace;
+ private File uploadCacheSpace;
/**
* Wrapper to where the blobs are uploaded/written
*/
- private final StagingUploader uploader;
+ private StagingUploader uploader;
/**
* Cache stats
*/
- private final StagingCacheStats cacheStats;
+ private StagingCacheStats cacheStats;
/**
* Handle for download cache if any
*/
@Nullable
- private final FileCache downloadCache;
+ private FileCache downloadCache;
private UploadStagingCache(File dir, int uploadThreads, long size /* bytes */,
StagingUploader uploader, @Nullable FileCache cache, StatisticsProvider statisticsProvider,
@@ -164,6 +164,9 @@ public class UploadStagingCache implemen
TimeUnit.SECONDS);
}
+ private UploadStagingCache() {
+ }
+
public static UploadStagingCache build(File dir, int uploadThreads, long size
/* bytes */, StagingUploader uploader, @Nullable FileCache cache,
StatisticsProvider statisticsProvider, @Nullable ListeningExecutorService executor,
@@ -172,8 +175,7 @@ public class UploadStagingCache implemen
return new UploadStagingCache(dir, uploadThreads, size, uploader, cache,
statisticsProvider, executor, scheduledExecutor, purgeInterval);
}
- return new UploadStagingCache(dir, uploadThreads, size, uploader, cache,
- statisticsProvider, executor, scheduledExecutor, purgeInterval) {
+ return new UploadStagingCache() {
@Override public Optional<SettableFuture<Integer>> put(String id, File input) {
return Optional.absent();
}