Package org.apache.solr.s3
Class S3BackupRepository
- java.lang.Object
-
- org.apache.solr.core.backup.repository.AbstractBackupRepository
-
- org.apache.solr.s3.S3BackupRepository
-
- All Implemented Interfaces:
Closeable,AutoCloseable,BackupRepository,NamedListInitializedPlugin
public class S3BackupRepository extends AbstractBackupRepository
A concrete implementation ofBackupRepositoryinterface supporting backup/restore of Solr indexes to S3.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.solr.core.backup.repository.BackupRepository
BackupRepository.PathType
-
-
Field Summary
-
Fields inherited from class org.apache.solr.core.backup.repository.AbstractBackupRepository
config, PARAM_VERIFY_CHECKSUM, shouldVerifyChecksum
-
-
Constructor Summary
Constructors Constructor Description S3BackupRepository()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voidcopyIndexFileFrom(org.apache.lucene.store.Directory sourceDir, String sourceFileName, URI dest, String destFileName)Copy an index file from specifiedsourceDirto the destination repository (i.e.voidcopyIndexFileTo(URI sourceDir, String sourceFileName, org.apache.lucene.store.Directory dest, String destFileName)Copy an index file from specifiedsourceRepoto the destination directory (i.e.voidcreateDirectory(URI path)URIcreateDirectoryURI(String location)OutputStreamcreateOutput(URI path)URIcreateURI(String location)voiddelete(URI path, Collection<String> files)voiddeleteDirectory(URI path)booleanexists(URI path)<T> TgetConfigProperty(String name)BackupRepository.PathTypegetPathType(URI path)voidinit(org.apache.solr.common.util.NamedList<?> args)String[]listAll(URI path)This method returns all the entries (files and directories) in the specified directory.org.apache.lucene.store.IndexInputopenInput(URI path, String fileName, org.apache.lucene.store.IOContext ctx)URIresolve(URI baseUri, String... pathComponents)URIresolveDirectory(URI baseUri, String... pathComponents)-
Methods inherited from class org.apache.solr.core.backup.repository.AbstractBackupRepository
copyIndexFileFrom, getBooleanConfig
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.solr.core.backup.repository.BackupRepository
checksum, copyFileFrom, copyFileNoChecksum, copyFileTo, delete, getBackupLocation, listAllOrEmpty
-
-
-
-
Method Detail
-
init
public void init(org.apache.solr.common.util.NamedList<?> args)
- Specified by:
initin interfaceNamedListInitializedPlugin- Overrides:
initin classAbstractBackupRepository
-
getConfigProperty
public <T> T getConfigProperty(String name)
-
createDirectory
public void createDirectory(URI path) throws IOException
- Throws:
IOException
-
deleteDirectory
public void deleteDirectory(URI path) throws IOException
- Throws:
IOException
-
delete
public void delete(URI path, Collection<String> files) throws IOException
- Throws:
IOException
-
exists
public boolean exists(URI path) throws IOException
- Throws:
IOException
-
openInput
public org.apache.lucene.store.IndexInput openInput(URI path, String fileName, org.apache.lucene.store.IOContext ctx) throws IOException
- Throws:
IOException
-
createOutput
public OutputStream createOutput(URI path) throws IOException
- Throws:
IOException
-
listAll
public String[] listAll(URI path) throws IOException
This method returns all the entries (files and directories) in the specified directory.- Parameters:
path- The directory path- Returns:
- an array of strings, one for each entry in the directory
- Throws:
IOException
-
getPathType
public BackupRepository.PathType getPathType(URI path) throws IOException
- Throws:
IOException
-
copyIndexFileFrom
public void copyIndexFileFrom(org.apache.lucene.store.Directory sourceDir, String sourceFileName, URI dest, String destFileName) throws IOExceptionCopy an index file from specifiedsourceDirto the destination repository (i.e. backup).- Parameters:
sourceDir- The source directory hosting the file to be copied.sourceFileName- The name of the file to be copieddest- The destination backup location.- Throws:
IOException- in case of errorsorg.apache.lucene.index.CorruptIndexException- in case checksum of the file does not match with precomputed checksum stored at the end of the file
-
copyIndexFileTo
public void copyIndexFileTo(URI sourceDir, String sourceFileName, org.apache.lucene.store.Directory dest, String destFileName) throws IOException
Copy an index file from specifiedsourceRepoto the destination directory (i.e. restore).- Parameters:
sourceDir- The source URI hosting the file to be copied.dest- The destination where the file should be copied.- Throws:
IOException- in case of errors.
-
close
public void close()
-
-