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 ad...@apache.org on 2018/10/17 10:28:42 UTC

svn commit: r1844083 - in /jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli: node/SegmentTarFactory.java parser/StoreType.java

Author: adulceanu
Date: Wed Oct 17 10:28:41 2018
New Revision: 1844083

URL: http://svn.apache.org/viewvc?rev=1844083&view=rev
Log:
OAK-7843 - oak-upgrade doesn't correctly pass segment cache size to file store

Modified:
    jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/SegmentTarFactory.java
    jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/StoreType.java

Modified: jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/SegmentTarFactory.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/SegmentTarFactory.java?rev=1844083&r1=1844082&r2=1844083&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/SegmentTarFactory.java (original)
+++ jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/SegmentTarFactory.java Wed Oct 17 10:28:41 2018
@@ -17,6 +17,7 @@
 package org.apache.jackrabbit.oak.upgrade.cli.node;
 
 import static org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
+import static org.apache.jackrabbit.oak.segment.SegmentCache.DEFAULT_SEGMENT_CACHE_MB;;
 import static org.apache.jackrabbit.oak.upgrade.cli.node.FileStoreUtils.asCloseable;
 
 import java.io.File;
@@ -39,11 +40,14 @@ public class SegmentTarFactory implement
 
     private final boolean disableMmap;
 
+    private int segmentCacheSize;
+
     private final boolean readOnly;
 
-    public SegmentTarFactory(String directory, boolean disableMmap, boolean readOnly) {
+    public SegmentTarFactory(String directory, boolean disableMmap, int segmentCacheSize, boolean readOnly) {
         this.dir = new File(directory);
         this.disableMmap = disableMmap;
+        this.segmentCacheSize = segmentCacheSize;
         this.readOnly = readOnly;
         createDirectoryIfMissing(dir);
         if (!dir.isDirectory()) {
@@ -73,6 +77,7 @@ public class SegmentTarFactory implement
         try {
             if (readOnly) {
                 final ReadOnlyFileStore fs;
+                builder.withSegmentCacheSize(segmentCacheSize > 0 ? segmentCacheSize : DEFAULT_SEGMENT_CACHE_MB);
                 fs = builder.buildReadOnly();
                 closer.register(asCloseable(fs));
                 return SegmentNodeStoreBuilders.builder(fs).build();

Modified: jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/StoreType.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/StoreType.java?rev=1844083&r1=1844082&r2=1844083&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/StoreType.java (original)
+++ jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/StoreType.java Wed Oct 17 10:28:41 2018
@@ -191,7 +191,8 @@ public enum StoreType {
 
         @Override
         public StoreFactory createFactory(String[] paths, MigrationDirection direction, MigrationOptions migrationOptions) {
-            return new StoreFactory(new SegmentTarFactory(paths[0], migrationOptions.isDisableMmap(), direction == MigrationDirection.SRC));
+            return new StoreFactory(new SegmentTarFactory(paths[0], migrationOptions.isDisableMmap(),
+                    migrationOptions.getCacheSizeInMB(), direction == MigrationDirection.SRC));
         }
 
         @Override