Search in sources :

Example 76 with FileStore

use of org.apache.jackrabbit.oak.segment.file.FileStore in project jackrabbit-oak by apache.

the class BrokenNetworkIT method testProxySSL.

@Test
public void testProxySSL() throws Exception {
    FileStore storeS = serverFileStore.fileStore();
    FileStore storeC = clientFileStore1.fileStore();
    NodeStore store = SegmentNodeStoreBuilders.builder(storeS).build();
    addTestContent(store, "server");
    storeS.flush();
    try (StandbyServerSync serverSync = new StandbyServerSync(serverPort.getPort(), storeS, MB, true);
        StandbyClientSync clientSync = new StandbyClientSync(getServerHost(), serverPort.getPort(), storeC, true, getClientTimeout(), false, folder.newFolder())) {
        serverSync.start();
        clientSync.run();
    }
    assertEquals(storeS.getHead(), storeC.getHead());
}
Also used : TemporaryFileStore(org.apache.jackrabbit.oak.segment.test.TemporaryFileStore) FileStore(org.apache.jackrabbit.oak.segment.file.FileStore) NodeStore(org.apache.jackrabbit.oak.spi.state.NodeStore) StandbyServerSync(org.apache.jackrabbit.oak.segment.standby.server.StandbyServerSync) StandbyClientSync(org.apache.jackrabbit.oak.segment.standby.client.StandbyClientSync) Test(org.junit.Test)

Example 77 with FileStore

use of org.apache.jackrabbit.oak.segment.file.FileStore in project jackrabbit-oak by apache.

the class FailoverIPRangeIT method createTestWithConfig.

private void createTestWithConfig(String host, String[] ipRanges, boolean expectedToWork) throws Exception {
    FileStore storeS = serverFileStore.fileStore();
    FileStore storeC = clientFileStore.fileStore();
    NodeStore store = SegmentNodeStoreBuilders.builder(storeS).build();
    try (StandbyServerSync serverSync = new StandbyServerSync(serverPort.getPort(), storeS, MB, ipRanges);
        StandbyClientSync clientSync = new StandbyClientSync(host, serverPort.getPort(), storeC, false, getClientTimeout(), false, folder.newFolder())) {
        serverSync.start();
        addTestContent(store, "server");
        // this speeds up the test a little bit...
        storeS.flush();
        clientSync.run();
        if (expectedToWork) {
            assertEquals(storeS.getHead(), storeC.getHead());
        } else {
            assertFalse("stores are equal but shouldn't!", storeS.getHead().equals(storeC.getHead()));
        }
    }
}
Also used : TemporaryFileStore(org.apache.jackrabbit.oak.segment.test.TemporaryFileStore) FileStore(org.apache.jackrabbit.oak.segment.file.FileStore) NodeStore(org.apache.jackrabbit.oak.spi.state.NodeStore) StandbyServerSync(org.apache.jackrabbit.oak.segment.standby.server.StandbyServerSync) StandbyClientSync(org.apache.jackrabbit.oak.segment.standby.client.StandbyClientSync)

Example 78 with FileStore

use of org.apache.jackrabbit.oak.segment.file.FileStore in project jackrabbit-oak by apache.

the class IOTracerRunner method collectBreadthFirstTrace.

public void collectBreadthFirstTrace(@Nonnull String segmentStore, boolean mmap, int segmentCacheSize, @Nonnull String path, int depth, @Nonnull String output) throws IOException, InvalidFileStoreVersionException {
    checkNotNull(segmentStore);
    checkNotNull(path);
    checkNotNull(output);
    try (PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(output, true)))) {
        Function<IOMonitor, FileStore> factory = ioMonitor -> newFileStore(fileStoreBuilder(new File(segmentStore)).withMemoryMapping(mmap).withSegmentCacheSize(segmentCacheSize).withIOMonitor(ioMonitor));
        IOTracer ioTracer = newIOTracer(factory, out, BreadthFirstTrace.CONTEXT_SPEC);
        ioTracer.collectTrace(new BreadthFirstTrace(depth, path, ioTracer::setContext));
    }
}
Also used : PrintWriter(java.io.PrintWriter) InvalidFileStoreVersionException(org.apache.jackrabbit.oak.segment.file.InvalidFileStoreVersionException) IOMonitor(org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitor) IOMonitorAdapter(org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitorAdapter) BufferedWriter(java.io.BufferedWriter) Preconditions.checkNotNull(com.google.common.base.Preconditions.checkNotNull) FileWriter(java.io.FileWriter) FileStoreBuilder(org.apache.jackrabbit.oak.segment.file.FileStoreBuilder) IOException(java.io.IOException) Test(org.junit.Test) FileStoreBuilder.fileStoreBuilder(org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder) Function(java.util.function.Function) String.format(java.lang.String.format) File(java.io.File) Preconditions.checkArgument(com.google.common.base.Preconditions.checkArgument) Boolean.parseBoolean(java.lang.Boolean.parseBoolean) IOTracer.newIOTracer(org.apache.jackrabbit.oak.segment.tool.iotrace.IOTracer.newIOTracer) FileStore(org.apache.jackrabbit.oak.segment.file.FileStore) System.getProperty(java.lang.System.getProperty) Integer.getInteger(java.lang.Integer.getInteger) Assume.assumeTrue(org.junit.Assume.assumeTrue) Nonnull(javax.annotation.Nonnull) Before(org.junit.Before) FileStore(org.apache.jackrabbit.oak.segment.file.FileStore) FileWriter(java.io.FileWriter) IOMonitor(org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitor) File(java.io.File) IOTracer.newIOTracer(org.apache.jackrabbit.oak.segment.tool.iotrace.IOTracer.newIOTracer) PrintWriter(java.io.PrintWriter) BufferedWriter(java.io.BufferedWriter)

Example 79 with FileStore

use of org.apache.jackrabbit.oak.segment.file.FileStore in project jackrabbit-oak by apache.

the class DefaultStandbyReferenceReaderTest method shouldReturnReferences.

@Test
public void shouldReturnReferences() throws Exception {
    try (FileStore store = newFileStore()) {
        SegmentWriter writer = defaultSegmentWriterBuilder("test").build(store);
        RecordId a = writer.writeNode(EmptyNodeState.EMPTY_NODE);
        writer.flush();
        NodeBuilder builder = EmptyNodeState.EMPTY_NODE.builder();
        builder.setChildNode("reference", store.getReader().readNode(a));
        RecordId b = writer.writeNode(builder.getNodeState());
        writer.flush();
        DefaultStandbyReferencesReader reader = new DefaultStandbyReferencesReader(store);
        Iterator<String> i = reader.readReferences(b.getSegmentId().asUUID().toString()).iterator();
        assertTrue(i.hasNext());
        assertEquals(a.getSegmentId().asUUID().toString(), i.next());
        assertFalse(i.hasNext());
    }
}
Also used : FileStore(org.apache.jackrabbit.oak.segment.file.FileStore) RecordId(org.apache.jackrabbit.oak.segment.RecordId) NodeBuilder(org.apache.jackrabbit.oak.spi.state.NodeBuilder) SegmentWriter(org.apache.jackrabbit.oak.segment.SegmentWriter) Test(org.junit.Test)

Example 80 with FileStore

use of org.apache.jackrabbit.oak.segment.file.FileStore in project jackrabbit-oak by apache.

the class IOTracerTest method collectDepthFirstTrace.

@Test
public void collectDepthFirstTrace() throws IOException, InvalidFileStoreVersionException {
    try (StringWriter out = new StringWriter()) {
        Function<IOMonitor, FileStore> factory = this::createFileStore;
        IOTracer ioTracer = newIOTracer(factory, out, DepthFirstTrace.CONTEXT_SPEC);
        ioTracer.collectTrace(new DepthFirstTrace(2, "/", ioTracer::setContext));
        try (BufferedReader reader = new BufferedReader(new StringReader(out.toString()))) {
            Optional<String> header = reader.lines().findFirst();
            List<String[]> entries = reader.lines().map(line -> line.split(",")).collect(toList());
            assertTrue(header.isPresent());
            assertEquals("timestamp,file,segmentId,length,elapsed,depth,count,path", header.get());
            long now = currentTimeMillis();
            assertTrue("The timestamps of all entries must be in the past", entries.stream().map(// ts
            row -> parseLong(row[0])).allMatch(ts -> ts <= now));
            assertEquals("Expected depths 0 and 1", ImmutableSet.of(0, 1), entries.stream().map(// depth
            row -> parseInt(row[5])).distinct().collect(toSet()));
            assertEquals("Expected max 10 nodes", Optional.of(true), entries.stream().map(// count
            row -> parseInt(row[6])).max(Comparator.naturalOrder()).map(max -> max <= 10));
        }
    }
}
Also used : IOMonitor(org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitor) IOMonitorAdapter(org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitorAdapter) System.currentTimeMillis(java.lang.System.currentTimeMillis) FileStoreBuilder.fileStoreBuilder(org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder) Function(java.util.function.Function) SegmentNodeBuilder(org.apache.jackrabbit.oak.segment.SegmentNodeBuilder) IOTracer.newIOTracer(org.apache.jackrabbit.oak.segment.tool.iotrace.IOTracer.newIOTracer) FileStore(org.apache.jackrabbit.oak.segment.file.FileStore) Nonnull(javax.annotation.Nonnull) Collectors.toSet(java.util.stream.Collectors.toSet) Before(org.junit.Before) SegmentNodeState(org.apache.jackrabbit.oak.segment.SegmentNodeState) InvalidFileStoreVersionException(org.apache.jackrabbit.oak.segment.file.InvalidFileStoreVersionException) ImmutableSet(com.google.common.collect.ImmutableSet) NodeBuilder(org.apache.jackrabbit.oak.spi.state.NodeBuilder) StringWriter(java.io.StringWriter) Assert.assertTrue(org.junit.Assert.assertTrue) IOException(java.io.IOException) Test(org.junit.Test) Integer.parseInt(java.lang.Integer.parseInt) File(java.io.File) Collectors.toList(java.util.stream.Collectors.toList) List(java.util.List) Rule(org.junit.Rule) StringReader(java.io.StringReader) Optional(java.util.Optional) BufferedReader(java.io.BufferedReader) Long.parseLong(java.lang.Long.parseLong) Comparator(java.util.Comparator) Assert.assertEquals(org.junit.Assert.assertEquals) TemporaryFolder(org.junit.rules.TemporaryFolder) FileStore(org.apache.jackrabbit.oak.segment.file.FileStore) StringWriter(java.io.StringWriter) BufferedReader(java.io.BufferedReader) StringReader(java.io.StringReader) IOMonitor(org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitor) IOTracer.newIOTracer(org.apache.jackrabbit.oak.segment.tool.iotrace.IOTracer.newIOTracer) Test(org.junit.Test)

Aggregations

FileStore (org.apache.jackrabbit.oak.segment.file.FileStore)106 Test (org.junit.Test)70 NodeBuilder (org.apache.jackrabbit.oak.spi.state.NodeBuilder)41 File (java.io.File)25 NodeStore (org.apache.jackrabbit.oak.spi.state.NodeStore)25 StandbyClientSync (org.apache.jackrabbit.oak.segment.standby.client.StandbyClientSync)18 StandbyServerSync (org.apache.jackrabbit.oak.segment.standby.server.StandbyServerSync)18 IOException (java.io.IOException)17 SegmentNodeStore (org.apache.jackrabbit.oak.segment.SegmentNodeStore)15 ScheduledExecutorService (java.util.concurrent.ScheduledExecutorService)13 SegmentGCOptions (org.apache.jackrabbit.oak.segment.compaction.SegmentGCOptions)13 InvalidFileStoreVersionException (org.apache.jackrabbit.oak.segment.file.InvalidFileStoreVersionException)12 TemporaryFileStore (org.apache.jackrabbit.oak.segment.test.TemporaryFileStore)11 Blob (org.apache.jackrabbit.oak.api.Blob)10 DefaultStatisticsProvider (org.apache.jackrabbit.oak.stats.DefaultStatisticsProvider)10 ByteArrayInputStream (java.io.ByteArrayInputStream)9 FileStoreBuilder (org.apache.jackrabbit.oak.segment.file.FileStoreBuilder)9 Before (org.junit.Before)9 NodeState (org.apache.jackrabbit.oak.spi.state.NodeState)8 PropertyState (org.apache.jackrabbit.oak.api.PropertyState)7