Package alluxio.underfs.cephfs
Class CephFSUnderFileSystem
- java.lang.Object
-
- alluxio.underfs.BaseUnderFileSystem
-
- alluxio.underfs.ConsistentUnderFileSystem
-
- alluxio.underfs.cephfs.CephFSUnderFileSystem
-
- All Implemented Interfaces:
alluxio.underfs.AsyncUfsClient,alluxio.underfs.AtomicFileOutputStreamCallback,alluxio.underfs.UnderFileSystem,java.io.Closeable,java.lang.AutoCloseable
@ThreadSafe public class CephFSUnderFileSystem extends alluxio.underfs.ConsistentUnderFileSystem implements alluxio.underfs.AtomicFileOutputStreamCallbackCephFSUnderFileSystemimplementation.
-
-
Constructor Summary
Constructors Constructor Description CephFSUnderFileSystem(alluxio.AlluxioURI ufsUri, com.ceph.fs.CephMount mount, alluxio.underfs.UnderFileSystemConfiguration conf)Constructs a new CephFSUnderFileSystem.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcleanup()voidclose()voidconnectFromMaster(java.lang.String host)voidconnectFromWorker(java.lang.String host)java.io.OutputStreamcreate(java.lang.String path, alluxio.underfs.options.CreateOptions options)java.io.OutputStreamcreateDirect(java.lang.String path, alluxio.underfs.options.CreateOptions options)static CephFSUnderFileSystemcreateInstance(alluxio.AlluxioURI ufsUri, alluxio.underfs.UnderFileSystemConfiguration conf)Factory method to constructs a new CephFSUnderFileSysteminstance.booleandeleteDirectory(java.lang.String path, alluxio.underfs.options.DeleteOptions options)booleandeleteFile(java.lang.String path)booleanexists(java.lang.String path)longgetBlockSizeByte(java.lang.String path)alluxio.underfs.UfsDirectoryStatusgetDirectoryStatus(java.lang.String path)java.util.List<java.lang.String>getFileLocations(java.lang.String path)java.util.List<java.lang.String>getFileLocations(java.lang.String path, alluxio.underfs.options.FileLocationOptions options)alluxio.underfs.UfsFileStatusgetFileStatus(java.lang.String path, alluxio.underfs.options.GetStatusOptions options)Gets stat information on a file.longgetSpace(java.lang.String path, alluxio.underfs.UnderFileSystem.SpaceType type)alluxio.underfs.UfsStatusgetStatus(java.lang.String path, alluxio.underfs.options.GetStatusOptions options)java.lang.StringgetUnderFSType()booleanisDirectory(java.lang.String path)booleanisFile(java.lang.String path)booleanisSeekable()alluxio.underfs.UfsStatus[]listStatus(java.lang.String path)Each string is a name rather than a complete path.booleanmkdirs(java.lang.String path, alluxio.underfs.options.MkdirsOptions options)java.io.InputStreamopen(java.lang.String path, alluxio.underfs.options.OpenOptions options)alluxio.PositionReaderopenPositionRead(java.lang.String path, long fileLength)booleanrenameDirectory(java.lang.String src, java.lang.String dst)booleanrenameFile(java.lang.String src, java.lang.String dst)booleanrenameRenamableDirectory(java.lang.String src, java.lang.String dst)booleanrenameRenamableFile(java.lang.String src, java.lang.String dst)voidsetMode(java.lang.String path, short mode)voidsetOwner(java.lang.String path, java.lang.String user, java.lang.String group)booleansupportsFlush()-
Methods inherited from class alluxio.underfs.ConsistentUnderFileSystem
createNonexistingFile, createNonexistingFile, deleteExistingDirectory, deleteExistingDirectory, deleteExistingFile, getExistingDirectoryStatus, getExistingFileStatus, getExistingStatus, isExistingDirectory, openExistingFile, openExistingFile
-
Methods inherited from class alluxio.underfs.BaseUnderFileSystem
create, deleteDirectory, getAclPair, getActiveSyncInfo, getConfiguration, getFingerprint, getOperationMode, getParsedFingerprint, getParsedFingerprint, getPhysicalStores, isObjectStorage, listStatus, listStatusIterable, mkdirs, open, performListingAsync, resolveUri, setAclEntries, startActiveSyncPolling, startSync, stopActiveSyncPolling, stopSync, supportsActiveSync, validatePath
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface alluxio.underfs.UnderFileSystem
create, createNonexistingFile, createNonexistingFile, deleteDirectory, deleteExistingDirectory, deleteExistingDirectory, deleteExistingFile, getAclPair, getActiveSyncInfo, getConfiguration, getExistingDirectoryStatus, getExistingFileStatus, getExistingStatus, getFileStatus, getFingerprint, getOperationMode, getParsedFingerprint, getParsedFingerprint, getPhysicalStores, getStatus, getTemporaryToken, isExistingDirectory, isObjectStorage, isTemporaryConnectionToken, listStatus, listStatuses, listStatusIterable, mkdirs, open, openExistingFile, openExistingFile, refreshTemporaryToken, resolveUri, setAclEntries, setTemporaryTokenRefreshContext, startActiveSyncPolling, startSync, stopActiveSyncPolling, stopSync, supportsActiveSync
-
-
-
-
Constructor Detail
-
CephFSUnderFileSystem
public CephFSUnderFileSystem(alluxio.AlluxioURI ufsUri, com.ceph.fs.CephMount mount, alluxio.underfs.UnderFileSystemConfiguration conf)Constructs a new CephFSUnderFileSystem.- Parameters:
ufsUri- theAlluxioURIfor this UFSmount- CephMount instanceconf- the configuration for this UFS
-
-
Method Detail
-
createInstance
public static CephFSUnderFileSystem createInstance(alluxio.AlluxioURI ufsUri, alluxio.underfs.UnderFileSystemConfiguration conf) throws java.io.IOException
Factory method to constructs a new CephFSUnderFileSysteminstance.- Parameters:
ufsUri- theAlluxioURIfor this UFSconf- the configuration for Hadoop- Returns:
- a new CephFS
UnderFileSysteminstance - Throws:
java.io.IOException
-
getUnderFSType
public java.lang.String getUnderFSType()
- Specified by:
getUnderFSTypein interfacealluxio.underfs.UnderFileSystem
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classalluxio.underfs.BaseUnderFileSystem- Throws:
java.io.IOException
-
create
public java.io.OutputStream create(java.lang.String path, alluxio.underfs.options.CreateOptions options) throws java.io.IOException- Specified by:
createin interfacealluxio.underfs.UnderFileSystem- Throws:
java.io.IOException
-
cleanup
public void cleanup() throws java.io.IOException- Specified by:
cleanupin interfacealluxio.underfs.UnderFileSystem- Throws:
java.io.IOException
-
createDirect
public java.io.OutputStream createDirect(java.lang.String path, alluxio.underfs.options.CreateOptions options) throws java.io.IOException- Specified by:
createDirectin interfacealluxio.underfs.AtomicFileOutputStreamCallback- Throws:
java.io.IOException
-
deleteDirectory
public boolean deleteDirectory(java.lang.String path, alluxio.underfs.options.DeleteOptions options) throws java.io.IOException- Specified by:
deleteDirectoryin interfacealluxio.underfs.UnderFileSystem- Throws:
java.io.IOException
-
deleteFile
public boolean deleteFile(java.lang.String path) throws java.io.IOException- Specified by:
deleteFilein interfacealluxio.underfs.UnderFileSystem- Throws:
java.io.IOException
-
exists
public boolean exists(java.lang.String path) throws java.io.IOException- Specified by:
existsin interfacealluxio.underfs.UnderFileSystem- Overrides:
existsin classalluxio.underfs.BaseUnderFileSystem- Throws:
java.io.IOException
-
getBlockSizeByte
public long getBlockSizeByte(java.lang.String path) throws java.io.IOException- Specified by:
getBlockSizeBytein interfacealluxio.underfs.UnderFileSystem- Throws:
java.io.IOException
-
getDirectoryStatus
public alluxio.underfs.UfsDirectoryStatus getDirectoryStatus(java.lang.String path) throws java.io.IOException- Specified by:
getDirectoryStatusin interfacealluxio.underfs.UnderFileSystem- Throws:
java.io.IOException
-
getStatus
public alluxio.underfs.UfsStatus getStatus(java.lang.String path, alluxio.underfs.options.GetStatusOptions options) throws java.io.IOException- Specified by:
getStatusin interfacealluxio.underfs.UnderFileSystem- Throws:
java.io.IOException
-
getFileLocations
public java.util.List<java.lang.String> getFileLocations(java.lang.String path) throws java.io.IOException- Specified by:
getFileLocationsin interfacealluxio.underfs.UnderFileSystem- Throws:
java.io.IOException
-
getFileLocations
@Nullable public java.util.List<java.lang.String> getFileLocations(java.lang.String path, alluxio.underfs.options.FileLocationOptions options) throws java.io.IOException- Specified by:
getFileLocationsin interfacealluxio.underfs.UnderFileSystem- Throws:
java.io.IOException
-
getFileStatus
public alluxio.underfs.UfsFileStatus getFileStatus(java.lang.String path, alluxio.underfs.options.GetStatusOptions options) throws java.io.IOExceptionGets stat information on a file. This does not fill owner or group, as Ceph's support for these is a bit different.- Specified by:
getFileStatusin interfacealluxio.underfs.UnderFileSystem- Parameters:
path- The path to statoptions- method options- Returns:
- FileStatus object containing the stat information
- Throws:
java.io.FileNotFoundException- if the path could not be resolvedjava.io.IOException
-
getSpace
public long getSpace(java.lang.String path, alluxio.underfs.UnderFileSystem.SpaceType type) throws java.io.IOException- Specified by:
getSpacein interfacealluxio.underfs.UnderFileSystem- Throws:
java.io.IOException
-
isDirectory
public boolean isDirectory(java.lang.String path) throws java.io.IOException- Specified by:
isDirectoryin interfacealluxio.underfs.UnderFileSystem- Throws:
java.io.IOException
-
isFile
public boolean isFile(java.lang.String path) throws java.io.IOException- Specified by:
isFilein interfacealluxio.underfs.UnderFileSystem- Throws:
java.io.IOException
-
listStatus
@Nullable public alluxio.underfs.UfsStatus[] listStatus(java.lang.String path) throws java.io.IOExceptionEach string is a name rather than a complete path.- Specified by:
listStatusin interfacealluxio.underfs.UnderFileSystem- Parameters:
path- the path to list- Returns:
- An array with the statuses of the files and directories in the directory denoted by this path. The array will be empty if the directory is empty. Returns null if this path does not denote a directory
- Throws:
java.io.IOException
-
connectFromMaster
public void connectFromMaster(java.lang.String host) throws java.io.IOException- Specified by:
connectFromMasterin interfacealluxio.underfs.UnderFileSystem- Throws:
java.io.IOException
-
connectFromWorker
public void connectFromWorker(java.lang.String host) throws java.io.IOException- Specified by:
connectFromWorkerin interfacealluxio.underfs.UnderFileSystem- Throws:
java.io.IOException
-
mkdirs
public boolean mkdirs(java.lang.String path, alluxio.underfs.options.MkdirsOptions options) throws java.io.IOException- Specified by:
mkdirsin interfacealluxio.underfs.UnderFileSystem- Throws:
java.io.IOException
-
open
public java.io.InputStream open(java.lang.String path, alluxio.underfs.options.OpenOptions options) throws java.io.IOException- Specified by:
openin interfacealluxio.underfs.UnderFileSystem- Throws:
java.io.IOException
-
openPositionRead
public alluxio.PositionReader openPositionRead(java.lang.String path, long fileLength)- Specified by:
openPositionReadin interfacealluxio.underfs.UnderFileSystem
-
renameDirectory
public boolean renameDirectory(java.lang.String src, java.lang.String dst) throws java.io.IOException- Specified by:
renameDirectoryin interfacealluxio.underfs.UnderFileSystem- Throws:
java.io.IOException
-
renameFile
public boolean renameFile(java.lang.String src, java.lang.String dst) throws java.io.IOException- Specified by:
renameFilein interfacealluxio.underfs.UnderFileSystem- Throws:
java.io.IOException
-
renameRenamableDirectory
public boolean renameRenamableDirectory(java.lang.String src, java.lang.String dst) throws java.io.IOException- Specified by:
renameRenamableDirectoryin interfacealluxio.underfs.UnderFileSystem- Overrides:
renameRenamableDirectoryin classalluxio.underfs.ConsistentUnderFileSystem- Throws:
java.io.IOException
-
renameRenamableFile
public boolean renameRenamableFile(java.lang.String src, java.lang.String dst) throws java.io.IOException- Specified by:
renameRenamableFilein interfacealluxio.underfs.UnderFileSystem- Overrides:
renameRenamableFilein classalluxio.underfs.ConsistentUnderFileSystem- Throws:
java.io.IOException
-
setOwner
public void setOwner(java.lang.String path, java.lang.String user, java.lang.String group) throws java.io.IOException- Specified by:
setOwnerin interfacealluxio.underfs.UnderFileSystem- Throws:
java.io.IOException
-
setMode
public void setMode(java.lang.String path, short mode) throws java.io.IOException- Specified by:
setModein interfacealluxio.underfs.UnderFileSystem- Throws:
java.io.IOException
-
supportsFlush
public boolean supportsFlush()
- Specified by:
supportsFlushin interfacealluxio.underfs.UnderFileSystem
-
isSeekable
public boolean isSeekable()
- Specified by:
isSeekablein interfacealluxio.underfs.UnderFileSystem- Overrides:
isSeekablein classalluxio.underfs.BaseUnderFileSystem
-
-