Index: oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/blob/MissingBlobStoreFactory.java =================================================================== --- oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/blob/MissingBlobStoreFactory.java (revision 0) +++ oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/blob/MissingBlobStoreFactory.java (revision 0) @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.jackrabbit.oak.upgrade.cli.blob; + +import org.apache.jackrabbit.oak.segment.file.tooling.BasicReadOnlyBlobStore; +import org.apache.jackrabbit.oak.spi.blob.BlobStore; + +import com.google.common.io.Closer; + +public class MissingBlobStoreFactory implements BlobStoreFactory { + + @Override + public BlobStore create(Closer closer) { + return new BasicReadOnlyBlobStore(); + } + + @Override + public String toString() { + return "MissingBlobStore"; + } +} Index: oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/OptionParserFactory.java =================================================================== --- oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/OptionParserFactory.java (revision 1747399) +++ oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/OptionParserFactory.java (working copy) @@ -50,6 +50,8 @@ public static final String SRC_S3_CONFIG = "src-s3config"; + public static final String SRC_MBS = "src-missingblobstore"; + public static final String DST_FDS = "datastore"; public static final String DST_FBS = "fileblobstore"; @@ -101,6 +103,7 @@ op.accepts(DST_S3, "Datastore directory to be used for the target S3").withRequiredArg().ofType(String.class); op.accepts(DST_S3_CONFIG, "Configuration file for the target S3DataStore").withRequiredArg() .ofType(String.class); + op.accepts(SRC_MBS, "Use a dummy BinaryStore"); } private static void addRdbOptions(OptionParser op) { Index: oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/StoreArguments.java =================================================================== --- oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/StoreArguments.java (revision 1747399) +++ oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/StoreArguments.java (working copy) @@ -27,6 +27,7 @@ import org.apache.jackrabbit.oak.upgrade.cli.blob.DummyBlobStoreFactory; import org.apache.jackrabbit.oak.upgrade.cli.blob.FileBlobStoreFactory; import org.apache.jackrabbit.oak.upgrade.cli.blob.FileDataStoreFactory; +import org.apache.jackrabbit.oak.upgrade.cli.blob.MissingBlobStoreFactory; import org.apache.jackrabbit.oak.upgrade.cli.blob.S3DataStoreFactory; import org.apache.jackrabbit.oak.upgrade.cli.node.StoreFactory; import org.slf4j.Logger; @@ -34,6 +35,7 @@ import static org.apache.jackrabbit.oak.upgrade.cli.parser.OptionParserFactory.SRC_FBS; import static org.apache.jackrabbit.oak.upgrade.cli.parser.OptionParserFactory.SRC_FDS; +import static org.apache.jackrabbit.oak.upgrade.cli.parser.OptionParserFactory.SRC_MBS; import static org.apache.jackrabbit.oak.upgrade.cli.parser.OptionParserFactory.SRC_S3; import static org.apache.jackrabbit.oak.upgrade.cli.parser.OptionParserFactory.SRC_S3_CONFIG; import static org.apache.jackrabbit.oak.upgrade.cli.parser.OptionParserFactory.DST_FBS; @@ -96,6 +98,8 @@ factory = new S3DataStoreFactory(parser.getOption(SRC_S3_CONFIG), parser.getOption(SRC_S3)); } else if (parser.hasOption(SRC_FDS)) { factory = new FileDataStoreFactory(parser.getOption(SRC_FDS)); + } else if (parser.hasOption(SRC_MBS)) { + factory = new MissingBlobStoreFactory(); } else { factory = new DummyBlobStoreFactory(); }