Class AzureArchiveManagerV8
java.lang.Object
org.apache.jackrabbit.oak.segment.azure.v8.AzureArchiveManagerV8
- All Implemented Interfaces:
org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager
public class AzureArchiveManagerV8
extends Object
implements org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final com.microsoft.azure.storage.blob.CloudBlobDirectoryprotected final org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitorprotected final org.apache.jackrabbit.oak.segment.spi.monitor.FileStoreMonitor -
Constructor Summary
ConstructorsConstructorDescriptionAzureArchiveManagerV8(com.microsoft.azure.storage.blob.CloudBlobDirectory segmentstoreDirectory, org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitor ioMonitor, org.apache.jackrabbit.oak.segment.spi.monitor.FileStoreMonitor fileStoreMonitor, org.apache.jackrabbit.oak.segment.remote.WriteAccessController writeAccessController) -
Method Summary
Modifier and TypeMethodDescriptionvoidbackup(@NotNull String archiveName, @NotNull String backupArchiveName, @NotNull Set<UUID> recoveredEntries) Method is not deleting segments from the directory given witharchiveName, if they are in the set of recovered segments.voidorg.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveWriterbooleanbooleanorg.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveReaderprotected com.microsoft.azure.storage.blob.CloudBlobDirectorygetDirectory(String archiveName) org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveReadervoidrecoverEntries(String archiveName, LinkedHashMap<UUID, byte[]> entries) boolean
-
Field Details
-
cloudBlobDirectory
protected final com.microsoft.azure.storage.blob.CloudBlobDirectory cloudBlobDirectory -
ioMonitor
protected final org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitor ioMonitor -
monitor
protected final org.apache.jackrabbit.oak.segment.spi.monitor.FileStoreMonitor monitor
-
-
Constructor Details
-
AzureArchiveManagerV8
public AzureArchiveManagerV8(com.microsoft.azure.storage.blob.CloudBlobDirectory segmentstoreDirectory, org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitor ioMonitor, org.apache.jackrabbit.oak.segment.spi.monitor.FileStoreMonitor fileStoreMonitor, org.apache.jackrabbit.oak.segment.remote.WriteAccessController writeAccessController)
-
-
Method Details
-
listArchives
- Specified by:
listArchivesin interfaceorg.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager- Throws:
IOException
-
open
public org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveReader open(String archiveName) throws IOException - Specified by:
openin interfaceorg.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager- Throws:
IOException
-
forceOpen
public org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveReader forceOpen(String archiveName) throws IOException - Specified by:
forceOpenin interfaceorg.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager- Throws:
IOException
-
create
public org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveWriter create(String archiveName) throws IOException - Specified by:
createin interfaceorg.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager- Throws:
IOException
-
delete
- Specified by:
deletein interfaceorg.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager
-
renameTo
- Specified by:
renameToin interfaceorg.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager
-
copyFile
- Specified by:
copyFilein interfaceorg.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager- Throws:
IOException
-
exists
- Specified by:
existsin interfaceorg.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager
-
recoverEntries
public void recoverEntries(String archiveName, LinkedHashMap<UUID, byte[]> entries) throws IOException- Specified by:
recoverEntriesin interfaceorg.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager- Throws:
IOException
-
backup
public void backup(@NotNull @NotNull String archiveName, @NotNull @NotNull String backupArchiveName, @NotNull @NotNull Set<UUID> recoveredEntries) throws IOException Method is not deleting segments from the directory given witharchiveName, if they are in the set of recovered segments. Reason for that is because during execution of this method, remote repository can be accessed by another application, and deleting a valid segment can cause consistency issues there.- Specified by:
backupin interfaceorg.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager- Throws:
IOException
-
getDirectory
protected com.microsoft.azure.storage.blob.CloudBlobDirectory getDirectory(String archiveName) throws IOException - Throws:
IOException
-