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 ch...@apache.org on 2015/09/09 08:19:38 UTC
svn commit: r1701907 - in /jackrabbit/oak/trunk/oak-core: ./
src/main/java/org/apache/jackrabbit/oak/plugins/document/
src/main/java/org/apache/jackrabbit/oak/plugins/document/cache/
src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/ src/t...
Author: chetanm
Date: Wed Sep 9 06:19:38 2015
New Revision: 1701907
URL: http://svn.apache.org/r1701907
Log:
OAK-2937 - Remove code related to directmemory for off heap caching
Removed:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/cache/KryoFactory.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/cache/KryoSerializer.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/cache/NodeDocOffHeapCache.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/cache/OffHeapCache.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/cache/Serializers.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/cache/
Modified:
jackrabbit/oak/trunk/oak-core/pom.xml
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentMK.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java
Modified: jackrabbit/oak/trunk/oak-core/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/pom.xml?rev=1701907&r1=1701906&r2=1701907&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-core/pom.xml Wed Sep 9 06:19:38 2015
@@ -246,20 +246,6 @@
<optional>true</optional>
</dependency>
- <!-- Required for OffHeap storage and serialization-->
- <dependency>
- <groupId>com.esotericsoftware.kryo</groupId>
- <artifactId>kryo</artifactId>
- <version>2.22</version>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.apache.directmemory</groupId>
- <artifactId>directmemory-cache</artifactId>
- <version>0.2</version>
- <optional>true</optional>
- </dependency>
-
<!-- Required for the persistent cache -->
<dependency>
<groupId>com.h2database</groupId>
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentMK.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentMK.java?rev=1701907&r1=1701906&r2=1701907&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentMK.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentMK.java Wed Sep 9 06:19:38 2015
@@ -484,7 +484,6 @@ public class DocumentMK {
private int cacheSegmentCount = DEFAULT_CACHE_SEGMENT_COUNT;
private int cacheStackMoveDistance = DEFAULT_CACHE_STACK_MOVE_DISTANCE;
private boolean useSimpleRevision;
- private long offHeapCacheSize = -1;
private long maxReplicationLagMillis = TimeUnit.HOURS.toMillis(6);
private boolean disableBranches;
private Clock clock = Clock.SIMPLE;
@@ -778,19 +777,6 @@ public class DocumentMK {
return useSimpleRevision;
}
- public boolean useOffHeapCache() {
- return this.offHeapCacheSize > 0;
- }
-
- public long getOffHeapCacheSize() {
- return offHeapCacheSize;
- }
-
- public Builder offHeapCacheSize(long offHeapCacheSize) {
- this.offHeapCacheSize = offHeapCacheSize;
- return this;
- }
-
public Executor getExecutor() {
if(executor == null){
return MoreExecutors.sameThreadExecutor();
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java?rev=1701907&r1=1701906&r2=1701907&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java Wed Sep 9 06:19:38 2015
@@ -99,7 +99,6 @@ import org.slf4j.LoggerFactory;
public class DocumentNodeStoreService {
private static final String DEFAULT_URI = "mongodb://localhost:27017/oak";
private static final int DEFAULT_CACHE = 256;
- private static final int DEFAULT_OFF_HEAP_CACHE = 0;
private static final int DEFAULT_BLOB_CACHE_SIZE = 16;
private static final String DEFAULT_DB = "oak";
private static final String DEFAULT_PERSISTENT_CACHE = "";
@@ -181,8 +180,6 @@ public class DocumentNodeStoreService {
)
private static final String PROP_CACHE_STACK_MOVE_DISTANCE = "cacheStackMoveDistance";
- private static final String PROP_OFF_HEAP_CACHE = "offHeapCache";
-
@Property(intValue = DEFAULT_BLOB_CACHE_SIZE,
label = "Blob Cache Size (in MB)",
description = "Cache size to store blobs in memory. Used only with default BlobStore " +
@@ -343,7 +340,6 @@ public class DocumentNodeStoreService {
String uri = PropertiesUtil.toString(prop(PROP_URI, FWK_PROP_URI), DEFAULT_URI);
String db = PropertiesUtil.toString(prop(PROP_DB, FWK_PROP_DB), DEFAULT_DB);
- int offHeapCache = toInteger(prop(PROP_OFF_HEAP_CACHE), DEFAULT_OFF_HEAP_CACHE);
int cacheSize = toInteger(prop(PROP_CACHE), DEFAULT_CACHE);
int nodeCachePercentage = toInteger(prop(PROP_NODE_CACHE_PERCENTAGE), DEFAULT_NODE_CACHE_PERCENTAGE);
int childrenCachePercentage = toInteger(prop(PROP_CHILDREN_CACHE_PERCENTAGE), DEFAULT_CHILDREN_CACHE_PERCENTAGE);
@@ -364,7 +360,6 @@ public class DocumentNodeStoreService {
diffCachePercentage).
setCacheSegmentCount(cacheSegmentCount).
setCacheStackMoveDistance(cacheStackMoveDistance).
- offHeapCacheSize(offHeapCache * MB).
setLeaseCheck(true /* OAK-2739: enabled by default */);
if (persistentCache != null && persistentCache.length() > 0) {
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java?rev=1701907&r1=1701906&r2=1701907&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java Wed Sep 9 06:19:38 2015
@@ -67,9 +67,6 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.document.UpdateOp.Operation;
import org.apache.jackrabbit.oak.plugins.document.UpdateUtils;
import org.apache.jackrabbit.oak.plugins.document.cache.CacheInvalidationStats;
-import org.apache.jackrabbit.oak.plugins.document.cache.ForwardingListener;
-import org.apache.jackrabbit.oak.plugins.document.cache.NodeDocOffHeapCache;
-import org.apache.jackrabbit.oak.plugins.document.cache.OffHeapCache;
import org.apache.jackrabbit.oak.plugins.document.mongo.CacheInvalidator.InvalidationResult;
import org.apache.jackrabbit.oak.plugins.document.util.StringValue;
import org.apache.jackrabbit.oak.plugins.document.util.Utils;
@@ -248,13 +245,8 @@ public class MongoDocumentStore implemen
options.put("unique", Boolean.FALSE);
this.journal.ensureIndex(index, options);
- // TODO expire entries if the parent was changed
- if (builder.useOffHeapCache()) {
- nodesCache = createOffHeapCache(builder);
- } else {
- nodesCache = builder.buildDocumentCache(this);
- }
+ nodesCache = builder.buildDocumentCache(this);
cacheStats = new CacheStats(nodesCache, "Document-Documents", builder.getWeigher(),
builder.getDocumentCacheSize());
LOG.info("Configuration maxReplicationLagMillis {}, " +
@@ -282,20 +274,6 @@ public class MongoDocumentStore implemen
return version;
}
- private Cache<CacheValue, NodeDocument> createOffHeapCache(
- DocumentMK.Builder builder) {
- ForwardingListener<CacheValue, NodeDocument> listener = ForwardingListener.newInstance();
-
- Cache<CacheValue, NodeDocument> primaryCache = CacheBuilder.newBuilder()
- .weigher(builder.getWeigher())
- .maximumWeight(builder.getDocumentCacheSize())
- .removalListener(listener)
- .recordStats()
- .build();
-
- return new NodeDocOffHeapCache(primaryCache, listener, builder, this);
- }
-
@Override
public void finalize() throws Throwable {
super.finalize();
@@ -1134,17 +1112,10 @@ public class MongoDocumentStore implemen
}
Iterable<? extends Map.Entry<CacheValue, ? extends CachedNodeDocument>> getCacheEntries() {
- if (nodesCache instanceof OffHeapCache) {
- return Iterables.concat(nodesCache.asMap().entrySet(), ((OffHeapCache) nodesCache).offHeapEntriesMap().entrySet());
- }
return nodesCache.asMap().entrySet();
}
CachedNodeDocument getCachedNodeDoc(String id) {
- if (nodesCache instanceof OffHeapCache) {
- return ((OffHeapCache) nodesCache).getCachedDocument(id);
- }
-
return nodesCache.getIfPresent(new StringValue(id));
}