diff --git a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java index 8c5e208ef0..a8f232f2cb 100644 --- a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java +++ b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java @@ -83,6 +83,14 @@ public class BenchmarkRunner { .withOptionalArg().defaultsTo(""); OptionSpec rdbjdbctableprefix = parser.accepts("rdbjdbctableprefix", "RDB JDBC table prefix") .withOptionalArg().defaultsTo(""); + + OptionSpec azureConnectionString = parser.accepts("azure", "Azure Connection String") + .withOptionalArg().defaultsTo("DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;"); + OptionSpec azureContainerName = parser.accepts("azureContainerName", "Azure container name") + .withOptionalArg().defaultsTo("oak"); + OptionSpec azureRootPath = parser.accepts("azureRootPath", "Azure root path") + .withOptionalArg().defaultsTo("/oak"); + OptionSpec mmap = parser.accepts("mmap", "TarMK memory mapping") .withOptionalArg().ofType(Boolean.class) .defaultsTo("64".equals(System.getProperty("sun.arch.data.model"))); @@ -230,6 +238,11 @@ public class BenchmarkRunner { mmap.value(options), coldUseDataStore.value(options), fdsCache.value(options), coldSyncInterval.value(options), coldShareDataStore.value(options), coldSecure.value(options), coldOneShotRun.value(options)), + OakRepositoryFixture.getSegmentTarWithAzureSegmentStore(base.value(options), + azureConnectionString.value(options), + azureContainerName.value(options), + azureRootPath.value(options), + 256, cacheSize, true, fdsCache.value(options)), OakRepositoryFixture.getRDB(rdbjdbcuri.value(options), rdbjdbcuser.value(options), rdbjdbcpasswd.value(options), rdbjdbctableprefix.value(options), dropDBAfterTest.value(options), cacheSize * MB, vgcMaxAge.value(options)), diff --git a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FixturesHelper.java b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FixturesHelper.java index 4ffbc987ca..60acc379ef 100644 --- a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FixturesHelper.java +++ b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FixturesHelper.java @@ -43,7 +43,7 @@ public final class FixturesHelper { * default fixtures when no {@code nsfixtures} is provided */ public enum Fixture { - DOCUMENT_NS, @Deprecated SEGMENT_MK, DOCUMENT_RDB, MEMORY_NS, DOCUMENT_MEM, SEGMENT_TAR, COMPOSITE_SEGMENT, COMPOSITE_MEM, COW_DOCUMENT + DOCUMENT_NS, @Deprecated SEGMENT_MK, DOCUMENT_RDB, MEMORY_NS, DOCUMENT_MEM, SEGMENT_TAR, SEGMENT_AZURE, COMPOSITE_SEGMENT, COMPOSITE_MEM, COW_DOCUMENT } private static final Set FIXTURES; diff --git a/oak-it/pom.xml b/oak-it/pom.xml index acd5e60fb8..0f0930da85 100644 --- a/oak-it/pom.xml +++ b/oak-it/pom.xml @@ -62,6 +62,12 @@ ${project.version} test + + org.apache.jackrabbit + oak-segment-azure + ${project.version} + test + org.apache.jackrabbit oak-store-document @@ -115,6 +121,13 @@ test-jar test + + org.apache.jackrabbit + oak-segment-azure + ${project.version} + test-jar + test + org.apache.jackrabbit oak-blob-cloud diff --git a/oak-it/src/test/java/org/apache/jackrabbit/oak/NodeStoreFixtures.java b/oak-it/src/test/java/org/apache/jackrabbit/oak/NodeStoreFixtures.java index f190fc5088..cf79b43eb5 100644 --- a/oak-it/src/test/java/org/apache/jackrabbit/oak/NodeStoreFixtures.java +++ b/oak-it/src/test/java/org/apache/jackrabbit/oak/NodeStoreFixtures.java @@ -31,6 +31,7 @@ import org.apache.jackrabbit.oak.fixture.MemoryFixture; import org.apache.jackrabbit.oak.fixture.NodeStoreFixture; import org.apache.jackrabbit.oak.composite.CompositeMemoryStoreFixture; import org.apache.jackrabbit.oak.composite.CompositeSegmentStoreFixture; +import org.apache.jackrabbit.oak.segment.azure.fixture.SegmentAzureFixture; import org.apache.jackrabbit.oak.segment.fixture.SegmentTarFixture; public class NodeStoreFixtures { @@ -39,6 +40,8 @@ public class NodeStoreFixtures { public static final NodeStoreFixture SEGMENT_TAR = new SegmentTarFixture(); + public static final NodeStoreFixture SEGMENT_AZURE = new SegmentAzureFixture(); + public static final NodeStoreFixture DOCUMENT_NS = new DocumentMongoFixture(); public static final NodeStoreFixture DOCUMENT_RDB = new DocumentRdbFixture(); @@ -68,6 +71,9 @@ public class NodeStoreFixtures { if (fixtures.contains(FixturesHelper.Fixture.SEGMENT_TAR)) { configuredFixtures.add(SEGMENT_TAR); } + if (fixtures.contains(FixturesHelper.Fixture.SEGMENT_AZURE)) { + configuredFixtures.add(SEGMENT_AZURE); + } if (fixtures.contains(FixturesHelper.Fixture.COMPOSITE_SEGMENT)) { configuredFixtures.add(COMPOSITE_SEGMENT); } diff --git a/oak-it/src/test/java/org/apache/jackrabbit/oak/spi/state/NodeStoreTest.java b/oak-it/src/test/java/org/apache/jackrabbit/oak/spi/state/NodeStoreTest.java index 79d8325c35..b0dfc23158 100644 --- a/oak-it/src/test/java/org/apache/jackrabbit/oak/spi/state/NodeStoreTest.java +++ b/oak-it/src/test/java/org/apache/jackrabbit/oak/spi/state/NodeStoreTest.java @@ -458,7 +458,7 @@ public class NodeStoreTest extends OakBaseTest { NodeBuilder x = test.getChildNode("x"); if (fixture == NodeStoreFixtures.SEGMENT_TAR || fixture == NodeStoreFixtures.MEMORY_NS || fixture == NodeStoreFixtures.COMPOSITE_MEM || fixture == NodeStoreFixtures.COMPOSITE_SEGMENT - || fixture == NodeStoreFixtures.COW_DOCUMENT) { + || fixture == NodeStoreFixtures.COW_DOCUMENT || fixture == NodeStoreFixtures.SEGMENT_AZURE) { assertTrue(x.moveTo(x, "xx")); assertFalse(x.exists()); assertFalse(test.hasChildNode("x")); diff --git a/oak-jcr/pom.xml b/oak-jcr/pom.xml index ce42e3da9d..be22efadd7 100644 --- a/oak-jcr/pom.xml +++ b/oak-jcr/pom.xml @@ -261,6 +261,12 @@ ${project.version} test + + org.apache.jackrabbit + oak-segment-azure + ${project.version} + test + org.apache.jackrabbit oak-store-document @@ -293,6 +299,13 @@ test-jar test + + org.apache.jackrabbit + oak-segment-azure + ${project.version} + test-jar + test + org.apache.jackrabbit oak-store-document diff --git a/oak-parent/pom.xml b/oak-parent/pom.xml index 31f13942ac..048161a9b6 100644 --- a/oak-parent/pom.xml +++ b/oak-parent/pom.xml @@ -66,7 +66,7 @@ + for the possible values: SEGMENT_MK SEGMENT_TAR SEGMENT_AZURE DOCUMENT_NS DOCUMENT_RDB --> SEGMENT_TAR