Class CachingArchiveManager
- java.lang.Object
-
- org.apache.jackrabbit.oak.segment.spi.persistence.persistentcache.CachingArchiveManager
-
- All Implemented Interfaces:
SegmentArchiveManager
public class CachingArchiveManager extends Object implements SegmentArchiveManager
-
-
Constructor Summary
Constructors Constructor Description CachingArchiveManager(PersistentCache persistentCache, SegmentArchiveManager delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbackup(@NotNull String archiveName, @NotNull String backupArchiveName, @NotNull Set<UUID> recoveredEntries)Method that is doing a backup of the archive given witharchiveNameintobackupArchiveName.voidcopyFile(@NotNull String from, @NotNull String to)Copies the archive with all the segments.@NotNull SegmentArchiveWritercreate(@NotNull String archiveName)Creates a new archive.booleandelete(@NotNull String archiveName)Deletes the archive if exists.booleanexists(@NotNull String archiveName)Check if archive exists.@Nullable SegmentArchiveReaderforceOpen(String archiveName)Opens an archive that wasn't closed correctly.@NotNull List<String>listArchives()List names of the available .tar archives.@Nullable SegmentArchiveReaderopen(@NotNull String archiveName)Opens a given archive for reading.voidrecoverEntries(@NotNull String archiveName, @NotNull LinkedHashMap<UUID,byte[]> entries)Finds all the segments included in the archive.booleanrenameTo(@NotNull String from, @NotNull String to)Renames the archive.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager
isReadOnly
-
-
-
-
Constructor Detail
-
CachingArchiveManager
public CachingArchiveManager(PersistentCache persistentCache, SegmentArchiveManager delegate)
-
-
Method Detail
-
listArchives
@NotNull public @NotNull List<String> listArchives() throws IOException
Description copied from interface:SegmentArchiveManagerList names of the available .tar archives.- Specified by:
listArchivesin interfaceSegmentArchiveManager- Returns:
- archive list
- Throws:
IOException
-
open
@Nullable public @Nullable SegmentArchiveReader open(@NotNull @NotNull String archiveName) throws IOException
Description copied from interface:SegmentArchiveManagerOpens a given archive for reading.- Specified by:
openin interfaceSegmentArchiveManager- Returns:
- the archive reader or null if the archive doesn't exist or doesn't have a valid index
- Throws:
IOException
-
forceOpen
@Nullable public @Nullable SegmentArchiveReader forceOpen(String archiveName) throws IOException
Description copied from interface:SegmentArchiveManagerOpens an archive that wasn't closed correctly.- Specified by:
forceOpenin interfaceSegmentArchiveManager- Returns:
- the archive reader or null if the implementation doesn't support opening an unclosed archive
- Throws:
IOException
-
create
@NotNull public @NotNull SegmentArchiveWriter create(@NotNull @NotNull String archiveName) throws IOException
Description copied from interface:SegmentArchiveManagerCreates a new archive.- Specified by:
createin interfaceSegmentArchiveManager- Returns:
- the archive writer
- Throws:
IOException
-
delete
public boolean delete(@NotNull @NotNull String archiveName)Description copied from interface:SegmentArchiveManagerDeletes the archive if exists.- Specified by:
deletein interfaceSegmentArchiveManager- Returns:
- true if the archive was removed, false otherwise
-
renameTo
public boolean renameTo(@NotNull @NotNull String from, @NotNull @NotNull String to)Description copied from interface:SegmentArchiveManagerRenames the archive.- Specified by:
renameToin interfaceSegmentArchiveManager- Parameters:
from- the existing archiveto- new name- Returns:
- true if the archive was renamed, false otherwise
-
copyFile
public void copyFile(@NotNull @NotNull String from, @NotNull @NotNull String to) throws IOExceptionDescription copied from interface:SegmentArchiveManagerCopies the archive with all the segments.- Specified by:
copyFilein interfaceSegmentArchiveManager- Parameters:
from- the existing archiveto- new name- Throws:
IOException
-
exists
public boolean exists(@NotNull @NotNull String archiveName)Description copied from interface:SegmentArchiveManagerCheck if archive exists.- Specified by:
existsin interfaceSegmentArchiveManager- Parameters:
archiveName- archive to check- Returns:
- true if archive exists, false otherwise
-
recoverEntries
public void recoverEntries(@NotNull @NotNull String archiveName, @NotNull @NotNull LinkedHashMap<UUID,byte[]> entries) throws IOExceptionDescription copied from interface:SegmentArchiveManagerFinds all the segments included in the archive.- Specified by:
recoverEntriesin interfaceSegmentArchiveManager- Parameters:
archiveName- archive to recoverentries- results will be put there, in the order of presence in the archive- Throws:
IOException
-
backup
public void backup(@NotNull @NotNull String archiveName, @NotNull @NotNull String backupArchiveName, @NotNull @NotNull Set<UUID> recoveredEntries) throws IOExceptionDescription copied from interface:SegmentArchiveManagerMethod that is doing a backup of the archive given witharchiveNameintobackupArchiveName. In addition, set of UUIDs of recovered segments is provided which can be inspected during backup. Method is invoked during archive recovery procedure and concrete implementation can decide whether original archive should be deleted or modified.- Specified by:
backupin interfaceSegmentArchiveManager- Throws:
IOException
-
-