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/18 18:31:38 UTC

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

Author: adulceanu
Date: Thu Oct 18 18:31:37 2018
New Revision: 1844278

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

Modified:
    jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/SegmentAzureFactory.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/SegmentAzureFactory.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/SegmentAzureFactory.java?rev=1844278&r1=1844277&r2=1844278&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/SegmentAzureFactory.java (original)
+++ jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/SegmentAzureFactory.java Thu Oct 18 18:31:37 2018
@@ -16,6 +16,7 @@
  */
 package org.apache.jackrabbit.oak.upgrade.cli.node;
 
+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.IOException;
@@ -46,10 +47,13 @@ public class SegmentAzureFactory impleme
     private final String connectionString;
     private final String containerName;
     private final String dir;
+
+    private int segmentCacheSize;
     private final boolean readOnly;
 
     public static class Builder {
         private final String dir;
+        private final int segmentCacheSize;
         private final boolean readOnly;
 
         private String accountName;
@@ -57,8 +61,9 @@ public class SegmentAzureFactory impleme
         private String connectionString;
         private String containerName;
 
-        public Builder(String dir, boolean readOnly) {
+        public Builder(String dir, int segmentCacheSize, boolean readOnly) {
             this.dir = dir;
+            this.segmentCacheSize = segmentCacheSize;
             this.readOnly = readOnly;
         }
 
@@ -93,6 +98,7 @@ public class SegmentAzureFactory impleme
         this.connectionString = builder.connectionString;
         this.containerName = builder.containerName;
         this.dir = builder.dir;
+        this.segmentCacheSize = builder.segmentCacheSize;
         this.readOnly = builder.readOnly;
     }
 
@@ -115,6 +121,7 @@ public class SegmentAzureFactory impleme
         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=1844278&r1=1844277&r2=1844278&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 Thu Oct 18 18:31:37 2018
@@ -161,7 +161,9 @@ public enum StoreType {
             if (isCustomAzureConnectionString(path)) {
                 // azure configuration specified through connection string
                 Map<String, String> config = parseAzureConfigurationFromCustomConnection(path);
-                return new StoreFactory(new SegmentAzureFactory.Builder(config.get(KEY_DIR), direction == MigrationDirection.SRC)
+                return new StoreFactory(
+                        new SegmentAzureFactory.Builder(config.get(KEY_DIR), migrationOptions.getCacheSizeInMB(),
+                                direction == MigrationDirection.SRC)
                         .connectionString(config.get(KEY_CONNECTION_STRING))
                         .containerName(config.get(KEY_CONTAINER_NAME))
                         .build()
@@ -170,7 +172,8 @@ public enum StoreType {
                 // azure configuration specified through URI
                 Map<String, String> config = parseAzureConfigurationFromUri(path);
 
-                return new StoreFactory(new SegmentAzureFactory.Builder(config.get(KEY_DIR), direction == MigrationDirection.SRC)
+                return new StoreFactory(new SegmentAzureFactory.Builder(config.get(KEY_DIR),
+                        migrationOptions.getCacheSizeInMB(), direction == MigrationDirection.SRC)
                         .accountName(config.get(KEY_ACCOUNT_NAME))
                         .uri(config.get(KEY_STORAGE_URI))
                         .build()