Class AzureArchiveManager
java.lang.Object
org.apache.jackrabbit.oak.segment.azure.AzureArchiveManager
- All Implemented Interfaces:
org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager
public class AzureArchiveManager
extends Object
implements org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitorprotected final org.apache.jackrabbit.oak.segment.spi.monitor.FileStoreMonitorprotected final com.azure.storage.blob.BlobContainerClientprotected final Stringprotected final com.azure.storage.blob.BlobContainerClient -
Constructor Summary
ConstructorsConstructorDescriptionAzureArchiveManager(com.azure.storage.blob.BlobContainerClient readBlobContainerClient, com.azure.storage.blob.BlobContainerClient writeBlobContainerClient, String rootPrefix, 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 StringgetDirectory(String archiveName) org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveReadervoidrecoverEntries(String archiveName, LinkedHashMap<UUID, byte[]> entries) boolean
-
Field Details
-
readBlobContainerClient
protected final com.azure.storage.blob.BlobContainerClient readBlobContainerClient -
writeBlobContainerClient
protected final com.azure.storage.blob.BlobContainerClient writeBlobContainerClient -
rootPrefix
-
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
-
AzureArchiveManager
public AzureArchiveManager(com.azure.storage.blob.BlobContainerClient readBlobContainerClient, com.azure.storage.blob.BlobContainerClient writeBlobContainerClient, String rootPrefix, 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
-