public class LocalIgfsSecondaryFileSystem extends Object implements IgfsSecondaryFileSystem, LifecycleAware
Constructor and Description |
---|
LocalIgfsSecondaryFileSystem() |
Modifier and Type | Method and Description |
---|---|
Collection<IgfsBlockLocation> |
affinity(IgfsPath path,
long start,
long len,
long maxLen)
Get affinity block locations for data blocks of the file.
|
OutputStream |
append(IgfsPath path,
int bufSize,
boolean create,
@Nullable Map<String,String> props)
Opens an output stream to an existing file for appending data.
|
OutputStream |
create(IgfsPath path,
boolean overwrite)
Creates a file and opens it for writing.
|
OutputStream |
create(IgfsPath path,
int bufSize,
boolean overwrite,
int replication,
long blockSize,
@Nullable Map<String,String> props)
Creates a file and opens it for writing.
|
boolean |
delete(IgfsPath path,
boolean recursive)
Deletes file.
|
boolean |
exists(IgfsPath path)
Checks if the specified path exists.
|
@Nullable String |
getWorkDirectory()
Get work directory.
|
IgfsFile |
info(IgfsPath path)
Gets file information for the specified path.
|
Collection<IgfsFile> |
listFiles(IgfsPath path)
Lists files under the specified path.
|
Collection<IgfsPath> |
listPaths(IgfsPath path)
Lists file paths under the specified path.
|
void |
mkdirs(IgfsPath path)
Creates directories under specified path.
|
void |
mkdirs(IgfsPath path,
@Nullable Map<String,String> props)
Creates directories under specified path with the specified properties.
|
IgfsSecondaryFileSystemPositionedReadable |
open(IgfsPath path,
int bufSize)
Opens a file for reading.
|
void |
rename(IgfsPath src,
IgfsPath dest)
Renames/moves a file.
|
void |
setTimes(IgfsPath path,
long modificationTime,
long accessTime)
Set times for the given path.
|
void |
setWorkDirectory(@Nullable String workDir)
Set work directory.
|
void |
start()
Starts grid component, called on grid start.
|
void |
stop()
Stops grid component, called on grid shutdown.
|
@Nullable IgfsFile |
update(IgfsPath path,
Map<String,String> props)
Updates file information for the specified path.
|
long |
usedSpaceSize()
Gets used space in bytes.
|
public boolean exists(IgfsPath path)
exists
in interface IgfsSecondaryFileSystem
path
- Path to check for existence.True
if such file exists, otherwise - false
.@Nullable public @Nullable IgfsFile update(IgfsPath path, Map<String,String> props)
null
values
will be removed from the stored properties or ignored if they don't exist in the file info.
When working in DUAL_SYNC
or DUAL_ASYNC
modes with Hadoop secondary file system only the
following properties will be updated on the secondary file system:
usrName
- file owner name;grpName
- file owner group;permission
- Unix-style string representing file permissions.update
in interface IgfsSecondaryFileSystem
path
- File path to set properties for.props
- Properties to update.null
if such path does not exist.public void rename(IgfsPath src, IgfsPath dest)
You are free to rename/move data files as you wish, but directories can be only renamed. You cannot move the directory between different parent directories.
Examples:
rename
in interface IgfsSecondaryFileSystem
src
- Source file path to rename.dest
- Destination file path. If destination path is a directory, then source file will be placed
into destination directory with original name.public boolean delete(IgfsPath path, boolean recursive)
delete
in interface IgfsSecondaryFileSystem
path
- File path to delete.recursive
- Delete non-empty directories recursively.True
in case of success, false
otherwise.public void mkdirs(IgfsPath path)
mkdirs
in interface IgfsSecondaryFileSystem
path
- Path of directories chain to create.public void mkdirs(IgfsPath path, @Nullable @Nullable Map<String,String> props)
mkdirs
in interface IgfsSecondaryFileSystem
path
- Path of directories chain to create.props
- Metadata properties to set on created directories.public Collection<IgfsPath> listPaths(IgfsPath path)
listPaths
in interface IgfsSecondaryFileSystem
path
- Path to list files under.public Collection<IgfsFile> listFiles(IgfsPath path)
listFiles
in interface IgfsSecondaryFileSystem
path
- Path to list files under.public IgfsSecondaryFileSystemPositionedReadable open(IgfsPath path, int bufSize)
open
in interface IgfsSecondaryFileSystem
path
- File path to read.bufSize
- Read buffer size (bytes) or zero
to use default value.public OutputStream create(IgfsPath path, boolean overwrite)
create
in interface IgfsSecondaryFileSystem
path
- File path to create.overwrite
- Overwrite file if it already exists. Note: you cannot overwrite an existent directory.public OutputStream create(IgfsPath path, int bufSize, boolean overwrite, int replication, long blockSize, @Nullable @Nullable Map<String,String> props)
create
in interface IgfsSecondaryFileSystem
path
- File path to create.bufSize
- Write buffer size (bytes) or zero
to use default value.overwrite
- Overwrite file if it already exists. Note: you cannot overwrite an existent directory.replication
- Replication factor.blockSize
- Block size.props
- File properties to set.public OutputStream append(IgfsPath path, int bufSize, boolean create, @Nullable @Nullable Map<String,String> props)
append
in interface IgfsSecondaryFileSystem
path
- File path to append.bufSize
- Write buffer size (bytes) or zero
to use default value.create
- Create file if it doesn't exist yet.props
- File properties to set only in case it file was just created.public IgfsFile info(IgfsPath path)
info
in interface IgfsSecondaryFileSystem
path
- Path to get information for.null
if such path does not exist.public long usedSpaceSize()
usedSpaceSize
in interface IgfsSecondaryFileSystem
public void setTimes(IgfsPath path, long modificationTime, long accessTime) throws IgniteException
setTimes
in interface IgfsSecondaryFileSystem
path
- Path.modificationTime
- Modification time.accessTime
- Access time.IgniteException
- If failed.public void start() throws IgniteException
start
in interface LifecycleAware
IgniteException
- If failed.public void stop() throws IgniteException
stop
in interface LifecycleAware
IgniteException
- If failed.public Collection<IgfsBlockLocation> affinity(IgfsPath path, long start, long len, long maxLen) throws IgniteException
maxLen
parameter is set and
particular block location length is greater than this value, block locations will be split into smaller
chunks.affinity
in interface IgfsSecondaryFileSystem
path
- File path to get affinity for.start
- Position in the file to start affinity resolution from.len
- Size of data in the file to resolve affinity for.maxLen
- Maximum length of a single returned block location length.IgniteException
- In case of error.IgfsPathNotFoundException
- If path doesn't exist.@Nullable public @Nullable String getWorkDirectory()
public void setWorkDirectory(@Nullable @Nullable String workDir)
workDir
- Work directory.
Follow @ApacheIgnite
Ignite Database and Caching Platform : ver. 2.7.2 Release Date : February 6 2019