Copied: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/FileStoreMonitor.java (from r1827287, jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/FileStoreMonitor.java) URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/FileStoreMonitor.java?p2=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/FileStoreMonitor.java&p1=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/FileStoreMonitor.java&r1=1827287&r2=1827291&rev=1827291&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/FileStoreMonitor.java (original) +++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/FileStoreMonitor.java Tue Mar 20 10:53:44 2018 @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.jackrabbit.oak.segment.file.tar; +package org.apache.jackrabbit.oak.segment.spi.monitor; /** * FileStoreMonitor are notified for any writes or deletes
Copied: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/FileStoreMonitorAdapter.java (from r1827287, jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/FileStoreMonitorAdapter.java) URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/FileStoreMonitorAdapter.java?p2=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/FileStoreMonitorAdapter.java&p1=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/FileStoreMonitorAdapter.java&r1=1827287&r2=1827291&rev=1827291&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/FileStoreMonitorAdapter.java (original) +++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/FileStoreMonitorAdapter.java Tue Mar 20 10:53:44 2018 @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.jackrabbit.oak.segment.file.tar; +package org.apache.jackrabbit.oak.segment.spi.monitor; public class FileStoreMonitorAdapter implements FileStoreMonitor { Copied: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/IOMonitor.java (from r1827287, jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/IOMonitor.java) URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/IOMonitor.java?p2=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/IOMonitor.java&p1=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/IOMonitor.java&r1=1827287&r2=1827291&rev=1827291&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/IOMonitor.java (original) +++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/IOMonitor.java Tue Mar 20 10:53:44 2018 @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.jackrabbit.oak.segment.file.tar; +package org.apache.jackrabbit.oak.segment.spi.monitor; import java.io.File; Copied: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/IOMonitorAdapter.java (from r1827287, jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/IOMonitorAdapter.java) URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/IOMonitorAdapter.java?p2=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/IOMonitorAdapter.java&p1=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/IOMonitorAdapter.java&r1=1827287&r2=1827291&rev=1827291&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/IOMonitorAdapter.java (original) +++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/monitor/IOMonitorAdapter.java Tue Mar 20 10:53:44 2018 @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.jackrabbit.oak.segment.file.tar; +package org.apache.jackrabbit.oak.segment.spi.monitor; import java.io.File; Added: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/GCJournalFile.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/GCJournalFile.java?rev=1827291&view=auto ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/GCJournalFile.java (added) +++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/GCJournalFile.java Tue Mar 20 10:53:44 2018 @@ -0,0 +1,12 @@ +package org.apache.jackrabbit.oak.segment.spi.persistence; + +import java.io.IOException; +import java.util.List; + +public interface GCJournalFile { + + void writeLine(String line) throws IOException; + + List<String> readLines() throws IOException; + +} Added: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFile.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFile.java?rev=1827291&view=auto ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFile.java (added) +++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFile.java Tue Mar 20 10:53:44 2018 @@ -0,0 +1,14 @@ +package org.apache.jackrabbit.oak.segment.spi.persistence; + +import java.io.IOException; + +public interface JournalFile { + + JournalFileReader openJournalReader() throws IOException; + + JournalFileWriter openJournalWriter() throws IOException; + + String getName(); + + boolean exists(); +} Added: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFileReader.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFileReader.java?rev=1827291&view=auto ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFileReader.java (added) +++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFileReader.java Tue Mar 20 10:53:44 2018 @@ -0,0 +1,10 @@ +package org.apache.jackrabbit.oak.segment.spi.persistence; + +import java.io.Closeable; +import java.io.IOException; + +public interface JournalFileReader extends Closeable { + + String readLine() throws IOException; + +} Added: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFileWriter.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFileWriter.java?rev=1827291&view=auto ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFileWriter.java (added) +++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/JournalFileWriter.java Tue Mar 20 10:53:44 2018 @@ -0,0 +1,12 @@ +package org.apache.jackrabbit.oak.segment.spi.persistence; + +import java.io.Closeable; +import java.io.IOException; + +public interface JournalFileWriter extends Closeable { + + void truncate() throws IOException; + + void writeLine(String line) throws IOException; + +} Added: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/ManifestFile.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/ManifestFile.java?rev=1827291&view=auto ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/ManifestFile.java (added) +++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/ManifestFile.java Tue Mar 20 10:53:44 2018 @@ -0,0 +1,14 @@ +package org.apache.jackrabbit.oak.segment.spi.persistence; + +import java.io.IOException; +import java.util.Properties; + +public interface ManifestFile { + + boolean exists(); + + Properties load() throws IOException; + + void save(Properties properties) throws IOException; + +} Added: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/RepositoryLock.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/RepositoryLock.java?rev=1827291&view=auto ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/RepositoryLock.java (added) +++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/RepositoryLock.java Tue Mar 20 10:53:44 2018 @@ -0,0 +1,9 @@ +package org.apache.jackrabbit.oak.segment.spi.persistence; + +import java.io.IOException; + +public interface RepositoryLock { + + void unlock() throws IOException; + +} Added: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveEntry.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveEntry.java?rev=1827291&view=auto ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveEntry.java (added) +++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveEntry.java Tue Mar 20 10:53:44 2018 @@ -0,0 +1,65 @@ +/* + * 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.segment.spi.persistence; + +public interface SegmentArchiveEntry { + + /** + * Return the most significant bits of the identifier of this entry. + * + * @return the most significant bits of the identifier of this entry. + */ + long getMsb(); + + /** + * Return the least significant bits of the identifier of this entry. + * + * @return the least significant bits of the identifier of this entry. + */ + long getLsb(); + + /** + * Return the length of this entry in the archive. + * + * @return the length of this entry in the archive. + */ + int getLength(); + + /** + * Return the generation of this entry. + * + * @return the generation of this entry. + */ + int getGeneration(); + + /** + * Return the full generation of this entry. + * + * @return the full generation of this entry. + */ + int getFullGeneration(); + + /** + * Return {@code true} if this entry was generated by a compaction operation. + * + * @return {@code true} if this entry was generated by a compaction operation. + */ + boolean isCompacted(); + +} Added: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveManager.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveManager.java?rev=1827291&view=auto ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveManager.java (added) +++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveManager.java Tue Mar 20 10:53:44 2018 @@ -0,0 +1,104 @@ +/* + * 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.segment.spi.persistence; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.io.IOException; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.UUID; + +/** + * SegmentArchiveManager provides a low-level access to the segment files (eg. + * stored in the .tar). It allows to perform a few FS-like operations (delete, + * rename, copy, etc.) and also opens the segment archives either for reading + * or reading and writing. + */ +public interface SegmentArchiveManager { + + /** + * List names of the available archives. + * + * @return archive list + */ + @Nonnull + List<String> listArchives() throws IOException; + + /** + * Opens a given archive for reading. + * + * @param archiveName + * @return the archive reader or null if the archive doesn't exist + */ + @Nullable + SegmentArchiveReader open(@Nonnull String archiveName) throws IOException; + + /** + * Creates a new archive. + * + * @param archiveName + * @return the archive writer + */ + @Nonnull + SegmentArchiveWriter create(@Nonnull String archiveName) throws IOException; + + /** + * Deletes the archive if exists. + * + * @param archiveName + * @return true if the archive was removed, false otherwise + */ + boolean delete(@Nonnull String archiveName); + + /** + * Renames the archive. + * + * @param from the existing archive + * @param to new name + * @return true if the archive was renamed, false otherwise + */ + boolean renameTo(@Nonnull String from, @Nonnull String to); + + /** + * Copies the archive with all the segments. + * + * @param from the existing archive + * @param to new name + */ + void copyFile(@Nonnull String from, @Nonnull String to) throws IOException; + + /** + * Check if archive exists. + * + * @param archiveName archive to check + * @return true if archive exists, false otherwise + */ + boolean exists(@Nonnull String archiveName); + + /** + * Finds all the segments included in the archive. + * + * @param archiveName archive to recover + * @param entries results will be put there, in the order of presence in the + * archive + */ + void recoverEntries(@Nonnull String archiveName, @Nonnull LinkedHashMap<UUID, byte[]> entries) throws IOException; + +} Added: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveReader.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveReader.java?rev=1827291&view=auto ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveReader.java (added) +++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveReader.java Tue Mar 20 10:53:44 2018 @@ -0,0 +1,104 @@ +/* + * 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.segment.spi.persistence; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.util.List; + +public interface SegmentArchiveReader { + + /** + * Read the segment. + * + * @param msb + * @param lsb + * @return byte buffer containing the segment data or null if segment doesn't exist + */ + @Nullable + ByteBuffer readSegment(long msb, long lsb) throws IOException; + + /** + * Check if the segment exists. + * + * @param msb + * @param lsb + * @return true if the segment exists + */ + boolean containsSegment(long msb, long lsb); + + /** + * List all the segments, in the order as they have been written to the archive. + * + * @return segment list, ordered by their position in the archive + */ + List<SegmentArchiveEntry> listSegments(); + + /** + * Loads and returns the graph. + * + * @return the segment graph or null if the persisted graph doesn't exist. + */ + @Nullable + ByteBuffer getGraph() throws IOException; + + /** + * Check if the persisted graph exists. + * + * @return true if the graph exists, false otherwise + */ + boolean hasGraph(); + + /** + * Loads and returns the binary references. + * + * @return binary references + */ + @Nonnull + ByteBuffer getBinaryReferences() throws IOException; + + /** + * Get the current length of the archive. + * + * @return length of the archive, in bytes + */ + long length(); + + /** + * Get the name of the archive. + * + * @return archive name + */ + @Nonnull + String getName(); + + /** + * Close the archive. + */ + void close() throws IOException; + + /** + * Returns the size of the entry + * @param size + * @return + */ + int getEntrySize(int size); +} Added: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveWriter.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveWriter.java?rev=1827291&view=auto ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveWriter.java (added) +++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentArchiveWriter.java Tue Mar 20 10:53:44 2018 @@ -0,0 +1,111 @@ +/* + * 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.segment.spi.persistence; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.io.IOException; +import java.nio.ByteBuffer; + +/** + * Allows to write in the new archive. + */ +public interface SegmentArchiveWriter { + + /** + * Write the new segment to the archive. + * + * @param msb + * @param lsb + * @param data + * @param offset + * @param size + * @param generation + * @param fullGeneration + * @param isCompacted + * @return the entry representing the new segment. Can be later used for the {@link #readSegment(long, long)} method. + */ + @Nonnull + void writeSegment(long msb, long lsb, @Nonnull byte[] data, int offset, int size, int generation, int fullGeneration, boolean isCompacted) throws IOException; + + /** + * Read the segment. + * + * @param msb + * @param lsb + * @return byte buffer containing the segment data or null if segment doesn't exist + */ + @Nullable + ByteBuffer readSegment(long msb, long lsb) throws IOException; + + /** + * Check if the segment exists. + * + * @param msb + * @param lsb + * @return true if the segment exists + */ + boolean containsSegment(long msb, long lsb); + + /** + * Write the graph data. + * + * @param data + */ + void writeGraph(@Nonnull byte[] data) throws IOException; + + /** + * Write the binary references data. + * + * @param data + */ + void writeBinaryReferences(@Nonnull byte[] data) throws IOException; + + /** + * Get the current length of the archive. + * + * @return length of the archive, in bytes + */ + long getLength(); + + /** + * Close the archive. + */ + void close() throws IOException; + + /** + * Check if the archive has been created (eg. something has been written). + * + * @return true if the archive has been created, false otherwise + */ + boolean isCreated(); + + /** + * Flush all the data to the storage. + */ + void flush() throws IOException; + + /** + * Get the name of the archive. + * + * @return archive name + */ + @Nonnull + String getName(); +} Copied: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentNodeStorePersistence.java (from r1827287, jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStorePersistence.java) URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentNodeStorePersistence.java?p2=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentNodeStorePersistence.java&p1=jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStorePersistence.java&r1=1827287&r2=1827291&rev=1827291&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStorePersistence.java (original) +++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/SegmentNodeStorePersistence.java Tue Mar 20 10:53:44 2018 @@ -16,15 +16,12 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.jackrabbit.oak.segment; +package org.apache.jackrabbit.oak.segment.spi.persistence; -import org.apache.jackrabbit.oak.segment.file.tar.FileStoreMonitor; -import org.apache.jackrabbit.oak.segment.file.tar.IOMonitor; +import org.apache.jackrabbit.oak.segment.spi.monitor.FileStoreMonitor; +import org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitor; -import java.io.Closeable; import java.io.IOException; -import java.util.List; -import java.util.Properties; public interface SegmentNodeStorePersistence { @@ -40,52 +37,4 @@ public interface SegmentNodeStorePersist RepositoryLock lockRepository() throws IOException; - interface JournalFile { - - JournalFileReader openJournalReader() throws IOException; - - JournalFileWriter openJournalWriter() throws IOException; - - String getName(); - - boolean exists(); - } - - interface JournalFileReader extends Closeable { - - String readLine() throws IOException; - - } - - interface JournalFileWriter extends Closeable { - - void truncate() throws IOException; - - void writeLine(String line) throws IOException; - - } - - interface GCJournalFile { - - void writeLine(String line) throws IOException; - - List<String> readLines() throws IOException; - - } - - interface ManifestFile { - - boolean exists(); - - Properties load() throws IOException; - - void save(Properties properties) throws IOException; - - } - - interface RepositoryLock { - - void unlock() throws IOException; - - } } Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Compact.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Compact.java?rev=1827291&r1=1827290&r2=1827291&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Compact.java (original) +++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Compact.java Tue Mar 20 10:53:44 2018 @@ -39,8 +39,8 @@ import javax.annotation.Nullable; import com.google.common.base.Stopwatch; import org.apache.jackrabbit.oak.segment.SegmentCache; -import org.apache.jackrabbit.oak.segment.SegmentNodeStorePersistence.JournalFile; -import org.apache.jackrabbit.oak.segment.SegmentNodeStorePersistence.JournalFileWriter; +import org.apache.jackrabbit.oak.segment.spi.persistence.JournalFile; +import org.apache.jackrabbit.oak.segment.spi.persistence.JournalFileWriter; import org.apache.jackrabbit.oak.segment.file.FileStore; import org.apache.jackrabbit.oak.segment.file.FileStoreBuilder; import org.apache.jackrabbit.oak.segment.file.InvalidFileStoreVersionException; Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/History.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/History.java?rev=1827291&r1=1827290&r2=1827291&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/History.java (original) +++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/History.java Tue Mar 20 10:53:44 2018 @@ -23,7 +23,7 @@ import static com.google.common.base.Pre import java.io.File; import java.util.Iterator; -import org.apache.jackrabbit.oak.segment.SegmentNodeStorePersistence.JournalFile; +import org.apache.jackrabbit.oak.segment.spi.persistence.JournalFile; import org.apache.jackrabbit.oak.segment.file.tar.LocalJournalFile; import org.apache.jackrabbit.oak.segment.file.tooling.RevisionHistory; import org.apache.jackrabbit.oak.segment.file.tooling.RevisionHistory.HistoryElement; Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Utils.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Utils.java?rev=1827291&r1=1827290&r2=1827291&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Utils.java (original) +++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/Utils.java Tue Mar 20 10:53:44 2018 @@ -30,7 +30,7 @@ import javax.annotation.Nonnull; import com.google.common.base.Function; import com.google.common.collect.Iterators; -import org.apache.jackrabbit.oak.segment.SegmentNodeStorePersistence.JournalFile; +import org.apache.jackrabbit.oak.segment.spi.persistence.JournalFile; import org.apache.jackrabbit.oak.segment.file.InvalidFileStoreVersionException; import org.apache.jackrabbit.oak.segment.file.JournalEntry; import org.apache.jackrabbit.oak.segment.file.JournalReader; Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/GcJournalTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/GcJournalTest.java?rev=1827291&r1=1827290&r2=1827291&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/GcJournalTest.java (original) +++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/GcJournalTest.java Tue Mar 20 10:53:44 2018 @@ -33,7 +33,8 @@ import java.util.List; import org.apache.jackrabbit.oak.commons.IOUtils; import org.apache.jackrabbit.oak.segment.RecordId; -import org.apache.jackrabbit.oak.segment.SegmentNodeStorePersistence; +import org.apache.jackrabbit.oak.segment.spi.persistence.GCJournalFile; +import org.apache.jackrabbit.oak.segment.spi.persistence.SegmentNodeStorePersistence; import org.apache.jackrabbit.oak.segment.file.GCJournal.GCJournalEntry; import org.apache.jackrabbit.oak.segment.file.tar.TarPersistence; import org.junit.Rule; @@ -85,7 +86,7 @@ public class GcJournalTest { Collection<GCJournalEntry> all = gc.readAll(); assertEquals(all.size(), 3); - SegmentNodeStorePersistence.GCJournalFile gcFile = getPersistence().getGCJournalFile(); + GCJournalFile gcFile = getPersistence().getGCJournalFile(); List<String> allLines = gcFile.readLines(); assertEquals(allLines.size(), 3); } Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/ManifestCheckerTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/ManifestCheckerTest.java?rev=1827291&r1=1827290&r2=1827291&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/ManifestCheckerTest.java (original) +++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/ManifestCheckerTest.java Tue Mar 20 10:53:44 2018 @@ -23,7 +23,7 @@ import static org.junit.Assert.assertEqu import java.io.File; import java.nio.file.Files; -import org.apache.jackrabbit.oak.segment.SegmentNodeStorePersistence.ManifestFile; +import org.apache.jackrabbit.oak.segment.spi.persistence.ManifestFile; import org.junit.Before; import org.junit.Rule; import org.junit.Test; Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/SizeDeltaGCEstimationTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/SizeDeltaGCEstimationTest.java?rev=1827291&r1=1827290&r2=1827291&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/SizeDeltaGCEstimationTest.java (original) +++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/SizeDeltaGCEstimationTest.java Tue Mar 20 10:53:44 2018 @@ -23,7 +23,7 @@ import static org.junit.Assert.assertTru import java.io.File; -import org.apache.jackrabbit.oak.segment.SegmentNodeStorePersistence; +import org.apache.jackrabbit.oak.segment.spi.persistence.SegmentNodeStorePersistence; import org.apache.jackrabbit.oak.segment.file.tar.TarPersistence; import org.junit.Before; import org.junit.Rule; Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/TarRevisionsTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/TarRevisionsTest.java?rev=1827291&r1=1827290&r2=1827291&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/TarRevisionsTest.java (original) +++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/TarRevisionsTest.java Tue Mar 20 10:53:44 2018 @@ -45,7 +45,7 @@ import com.google.common.util.concurrent import org.apache.jackrabbit.oak.segment.RecordId; import org.apache.jackrabbit.oak.segment.SegmentNodeBuilder; import org.apache.jackrabbit.oak.segment.SegmentNodeState; -import org.apache.jackrabbit.oak.segment.SegmentNodeStorePersistence; +import org.apache.jackrabbit.oak.segment.spi.persistence.SegmentNodeStorePersistence; import org.apache.jackrabbit.oak.segment.SegmentReader; import org.apache.jackrabbit.oak.segment.file.tar.TarPersistence; import org.junit.After; Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/TarFileTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/TarFileTest.java?rev=1827291&r1=1827290&r2=1827291&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/TarFileTest.java (original) +++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/TarFileTest.java Tue Mar 20 10:53:44 2018 @@ -36,7 +36,10 @@ import java.util.Map; import java.util.Set; import java.util.UUID; -import org.apache.jackrabbit.oak.segment.SegmentArchiveManager; +import org.apache.jackrabbit.oak.segment.spi.monitor.FileStoreMonitorAdapter; +import org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitorAdapter; +import org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveEntry; +import org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager; import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -93,8 +96,8 @@ public class TarFileTest { } try (TarReader reader = TarReader.open("data00000a.tar", archiveManager)) { - TarEntry[] entries = reader.getEntries(); - assertEquals(newGCGeneration(1, 2, false), entries[0].generation()); + SegmentArchiveEntry[] entries = reader.getEntries(); + assertEquals(newGCGeneration(1, 2, false), newGCGeneration(entries[0])); } } @@ -111,8 +114,8 @@ public class TarFileTest { } try (TarReader reader = TarReader.open("data00000a.tar", archiveManager)) { - TarEntry[] entries = reader.getEntries(); - assertEquals(newGCGeneration(1, 2, true), entries[0].generation()); + SegmentArchiveEntry[] entries = reader.getEntries(); + assertEquals(newGCGeneration(1, 2, true), newGCGeneration(entries[0])); } } Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/TarFilesTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/TarFilesTest.java?rev=1827291&r1=1827290&r2=1827291&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/TarFilesTest.java (original) +++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/TarFilesTest.java Tue Mar 20 10:53:44 2018 @@ -42,6 +42,8 @@ import java.util.Set; import java.util.UUID; import org.apache.jackrabbit.oak.segment.file.tar.TarFiles.CleanupResult; +import org.apache.jackrabbit.oak.segment.spi.monitor.FileStoreMonitorAdapter; +import org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitorAdapter; import org.junit.After; import org.junit.Before; import org.junit.Rule; Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/TarWriterTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/TarWriterTest.java?rev=1827291&r1=1827290&r2=1827291&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/TarWriterTest.java (original) +++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/TarWriterTest.java Tue Mar 20 10:53:44 2018 @@ -29,7 +29,9 @@ import java.io.File; import java.io.IOException; import java.util.UUID; -import org.apache.jackrabbit.oak.segment.SegmentArchiveManager; +import org.apache.jackrabbit.oak.segment.spi.monitor.FileStoreMonitorAdapter; +import org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitorAdapter; +import org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager; import org.junit.Before; import org.junit.Rule; import org.junit.Test; Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/binaries/BinaryReferencesIndexLoaderTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/binaries/BinaryReferencesIndexLoaderTest.java?rev=1827291&r1=1827290&r2=1827291&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/binaries/BinaryReferencesIndexLoaderTest.java (original) +++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/binaries/BinaryReferencesIndexLoaderTest.java Tue Mar 20 10:53:44 2018 @@ -50,12 +50,13 @@ public class BinaryReferencesIndexLoader } private static BinaryReferencesIndex loadIndex(ByteBuffer buffer) throws Exception { - return BinaryReferencesIndexLoader.loadBinaryReferencesIndex((whence, length) -> { + ByteBuffer data = BinaryReferencesIndexLoader.loadBinaryReferencesIndex((whence, length) -> { ByteBuffer slice = buffer.duplicate(); slice.position(slice.limit() - whence); slice.limit(slice.position() + length); return slice.slice(); }); + return BinaryReferencesIndexLoader.parseBinaryReferencesIndex(data); } @Test(expected = InvalidBinaryReferencesIndexException.class) Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/binaries/BinaryReferencesIndexLoaderV1Test.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/binaries/BinaryReferencesIndexLoaderV1Test.java?rev=1827291&r1=1827290&r2=1827291&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/binaries/BinaryReferencesIndexLoaderV1Test.java (original) +++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/binaries/BinaryReferencesIndexLoaderV1Test.java Tue Mar 20 10:53:44 2018 @@ -20,6 +20,7 @@ package org.apache.jackrabbit.oak.segmen import static org.apache.jackrabbit.oak.segment.file.tar.binaries.BinaryReferencesIndexLoaderV1.FOOTER_SIZE; import static org.apache.jackrabbit.oak.segment.file.tar.binaries.BinaryReferencesIndexLoaderV1.MAGIC; import static org.apache.jackrabbit.oak.segment.file.tar.binaries.BinaryReferencesIndexLoaderV1.loadBinaryReferencesIndex; +import static org.apache.jackrabbit.oak.segment.file.tar.binaries.BinaryReferencesIndexLoaderV1.parseBinaryReferencesIndex; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; @@ -40,12 +41,13 @@ public class BinaryReferencesIndexLoader } private static BinaryReferencesIndex loadIndex(ByteBuffer buffer) throws Exception { - return loadBinaryReferencesIndex((whence, length) -> { + ByteBuffer data = loadBinaryReferencesIndex((whence, length) -> { ByteBuffer slice = buffer.duplicate(); slice.position(slice.limit() - whence); slice.limit(slice.position() + length); return slice.slice(); }); + return parseBinaryReferencesIndex(data); } private static void assertInvalidBinaryReferencesIndexException(ByteBuffer buffer, String message) throws Exception { Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/binaries/BinaryReferencesIndexLoaderV2Test.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/binaries/BinaryReferencesIndexLoaderV2Test.java?rev=1827291&r1=1827290&r2=1827291&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/binaries/BinaryReferencesIndexLoaderV2Test.java (original) +++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/binaries/BinaryReferencesIndexLoaderV2Test.java Tue Mar 20 10:53:44 2018 @@ -20,6 +20,7 @@ package org.apache.jackrabbit.oak.segmen import static org.apache.jackrabbit.oak.segment.file.tar.binaries.BinaryReferencesIndexLoaderV2.FOOTER_SIZE; import static org.apache.jackrabbit.oak.segment.file.tar.binaries.BinaryReferencesIndexLoaderV2.MAGIC; import static org.apache.jackrabbit.oak.segment.file.tar.binaries.BinaryReferencesIndexLoaderV2.loadBinaryReferencesIndex; +import static org.apache.jackrabbit.oak.segment.file.tar.binaries.BinaryReferencesIndexLoaderV2.parseBinaryReferencesIndex; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; @@ -40,12 +41,13 @@ public class BinaryReferencesIndexLoader } private static BinaryReferencesIndex loadIndex(ByteBuffer buffer) throws Exception { - return loadBinaryReferencesIndex((whence, length) -> { + ByteBuffer data = loadBinaryReferencesIndex((whence, length) -> { ByteBuffer slice = buffer.duplicate(); slice.position(slice.limit() - whence); slice.limit(slice.position() + length); return slice.slice(); }); + return parseBinaryReferencesIndex(data); } private static void assertInvalidBinaryReferencesIndexException(ByteBuffer buffer, String message) throws Exception { Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/binaries/BinaryReferencesIndexWriterTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/binaries/BinaryReferencesIndexWriterTest.java?rev=1827291&r1=1827290&r2=1827291&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/binaries/BinaryReferencesIndexWriterTest.java (original) +++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/binaries/BinaryReferencesIndexWriterTest.java Tue Mar 20 10:53:44 2018 @@ -19,6 +19,7 @@ package org.apache.jackrabbit.oak.segmen import static java.util.Arrays.asList; import static org.apache.jackrabbit.oak.segment.file.tar.binaries.BinaryReferencesIndexLoader.loadBinaryReferencesIndex; +import static org.apache.jackrabbit.oak.segment.file.tar.binaries.BinaryReferencesIndexLoader.parseBinaryReferencesIndex; import static org.apache.jackrabbit.oak.segment.file.tar.binaries.BinaryReferencesIndexWriter.newBinaryReferencesIndexWriter; import static org.junit.Assert.assertEquals; @@ -52,7 +53,8 @@ public class BinaryReferencesIndexWriter byte[] data = writer.write(); - BinaryReferencesIndex index = loadBinaryReferencesIndex((whence, length) -> ByteBuffer.wrap(data, data.length - whence, length)); + ByteBuffer buffer = loadBinaryReferencesIndex((whence, length) -> ByteBuffer.wrap(data, data.length - whence, length)); + BinaryReferencesIndex index = parseBinaryReferencesIndex(buffer); Generation g1 = new Generation(1, 2, false); Generation g2 = new Generation(3, 4, true); Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/upgrade/UpgradeIT.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/upgrade/UpgradeIT.java?rev=1827291&r1=1827290&r2=1827291&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/upgrade/UpgradeIT.java (original) +++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/upgrade/UpgradeIT.java Tue Mar 20 10:53:44 2018 @@ -40,7 +40,7 @@ import org.apache.jackrabbit.oak.segment import org.apache.jackrabbit.oak.segment.data.SegmentData; import org.apache.jackrabbit.oak.segment.file.InvalidFileStoreVersionException; import org.apache.jackrabbit.oak.segment.file.LocalManifestFile; -import org.apache.jackrabbit.oak.segment.file.tar.IOMonitorAdapter; +import org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitorAdapter; import org.apache.jackrabbit.oak.segment.file.tar.TarFiles; import org.apache.jackrabbit.oak.segment.tool.Compact; import org.junit.Before;
