Class AwsArchiveManager

  • All Implemented Interfaces:
    org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager

    public class AwsArchiveManager
    extends java.lang.Object
    implements org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager
    • Constructor Summary

      Constructors 
      Constructor Description
      AwsArchiveManager​(S3Directory directory, org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitor ioMonitor, org.apache.jackrabbit.oak.segment.spi.monitor.FileStoreMonitor fileStoreMonitor)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void backup​(java.lang.String archiveName, java.lang.String backupArchiveName, java.util.Set<java.util.UUID> recoveredEntries)
      Avoids deleting segments from the directory given with archiveName, if they are in the set of recovered segments.
      void copyFile​(java.lang.String from, java.lang.String to)  
      org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveWriter create​(java.lang.String archiveName)  
      boolean delete​(java.lang.String archiveName)  
      boolean exists​(java.lang.String archiveName)  
      org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveReader forceOpen​(java.lang.String archiveName)  
      java.util.List<java.lang.String> listArchives()  
      org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveReader open​(java.lang.String archiveName)  
      void recoverEntries​(java.lang.String archiveName, java.util.LinkedHashMap<java.util.UUID,​byte[]> entries)  
      boolean renameTo​(java.lang.String from, java.lang.String to)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AwsArchiveManager

        public AwsArchiveManager​(S3Directory directory,
                                 org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitor ioMonitor,
                                 org.apache.jackrabbit.oak.segment.spi.monitor.FileStoreMonitor fileStoreMonitor)
    • Method Detail

      • listArchives

        public java.util.List<java.lang.String> listArchives()
                                                      throws java.io.IOException
        Specified by:
        listArchives in interface org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager
        Throws:
        java.io.IOException
      • open

        public org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveReader open​(java.lang.String archiveName)
                                                                                    throws java.io.IOException
        Specified by:
        open in interface org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager
        Throws:
        java.io.IOException
      • forceOpen

        public org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveReader forceOpen​(java.lang.String archiveName)
                                                                                         throws java.io.IOException
        Specified by:
        forceOpen in interface org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager
        Throws:
        java.io.IOException
      • create

        public org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveWriter create​(java.lang.String archiveName)
                                                                                      throws java.io.IOException
        Specified by:
        create in interface org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager
        Throws:
        java.io.IOException
      • delete

        public boolean delete​(java.lang.String archiveName)
        Specified by:
        delete in interface org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager
      • renameTo

        public boolean renameTo​(java.lang.String from,
                                java.lang.String to)
        Specified by:
        renameTo in interface org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager
      • copyFile

        public void copyFile​(java.lang.String from,
                             java.lang.String to)
                      throws java.io.IOException
        Specified by:
        copyFile in interface org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager
        Throws:
        java.io.IOException
      • exists

        public boolean exists​(java.lang.String archiveName)
        Specified by:
        exists in interface org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager
      • recoverEntries

        public void recoverEntries​(java.lang.String archiveName,
                                   java.util.LinkedHashMap<java.util.UUID,​byte[]> entries)
                            throws java.io.IOException
        Specified by:
        recoverEntries in interface org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager
        Throws:
        java.io.IOException
      • backup

        public void backup​(java.lang.String archiveName,
                           java.lang.String backupArchiveName,
                           java.util.Set<java.util.UUID> recoveredEntries)
                    throws java.io.IOException
        Avoids deleting segments from the directory given with 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.
        Specified by:
        backup in interface org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager
        Throws:
        java.io.IOException