public class AzureArchiveManager extends Object implements org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager
| Modifier and Type | Field and Description |
|---|---|
protected com.microsoft.azure.storage.blob.CloudBlobDirectory |
cloudBlobDirectory |
protected org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitor |
ioMonitor |
protected org.apache.jackrabbit.oak.segment.spi.monitor.FileStoreMonitor |
monitor |
| Constructor and Description |
|---|
AzureArchiveManager(com.microsoft.azure.storage.blob.CloudBlobDirectory cloudBlobDirectory,
org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitor ioMonitor,
org.apache.jackrabbit.oak.segment.spi.monitor.FileStoreMonitor fileStoreMonitor) |
| Modifier and Type | Method and Description |
|---|---|
void |
backup(@NotNull String archiveName,
@NotNull String backupArchiveName,
@NotNull Set<UUID> recoveredEntries)
Method is not deleting segments from the directory given with
archiveName, if they are in the set of recovered segments. |
void |
copyFile(String from,
String to) |
org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveWriter |
create(String archiveName) |
boolean |
delete(String archiveName) |
boolean |
exists(String archiveName) |
org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveReader |
forceOpen(String archiveName) |
protected com.microsoft.azure.storage.blob.CloudBlobDirectory |
getDirectory(String archiveName) |
List<String> |
listArchives() |
org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveReader |
open(String archiveName) |
void |
recoverEntries(String archiveName,
LinkedHashMap<UUID,byte[]> entries) |
boolean |
renameTo(String from,
String to) |
protected final com.microsoft.azure.storage.blob.CloudBlobDirectory cloudBlobDirectory
protected final org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitor ioMonitor
protected final org.apache.jackrabbit.oak.segment.spi.monitor.FileStoreMonitor monitor
public AzureArchiveManager(com.microsoft.azure.storage.blob.CloudBlobDirectory cloudBlobDirectory,
org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitor ioMonitor,
org.apache.jackrabbit.oak.segment.spi.monitor.FileStoreMonitor fileStoreMonitor)
public List<String> listArchives() throws IOException
listArchives in interface org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManagerIOExceptionpublic org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveReader open(String archiveName) throws IOException
open in interface org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManagerIOExceptionpublic org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveReader forceOpen(String archiveName) throws IOException
forceOpen in interface org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManagerIOExceptionpublic org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveWriter create(String archiveName) throws IOException
create in interface org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManagerIOExceptionpublic boolean delete(String archiveName)
delete in interface org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManagerpublic boolean renameTo(String from, String to)
renameTo in interface org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManagerpublic void copyFile(String from, String to) throws IOException
copyFile in interface org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManagerIOExceptionpublic boolean exists(String archiveName)
exists in interface org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManagerpublic void recoverEntries(String archiveName, LinkedHashMap<UUID,byte[]> entries) throws IOException
recoverEntries in interface org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManagerIOExceptionpublic void backup(@NotNull
@NotNull String archiveName,
@NotNull
@NotNull String backupArchiveName,
@NotNull
@NotNull Set<UUID> recoveredEntries)
throws IOException
archiveName, 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.backup in interface org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManagerIOExceptionprotected com.microsoft.azure.storage.blob.CloudBlobDirectory getDirectory(String archiveName) throws IOException
IOExceptionCopyright © 2012–2021 The Apache Software Foundation. All rights reserved.