Package org.apache.flink.state.forst
Class ForStResourceContainer
- java.lang.Object
-
- org.apache.flink.state.forst.ForStResourceContainer
-
- All Implemented Interfaces:
AutoCloseable
public final class ForStResourceContainer extends Object implements AutoCloseable
The container for ForSt resources, including option factory and shared resource among instances.This should be the only entrance for ForStStateBackend to get ForSt options, and should be properly (and necessarily) closed to prevent resource leak.
-
-
Field Summary
Fields Modifier and Type Field Description static StringDB_DIR_STRING
-
Constructor Summary
Constructors Constructor Description ForStResourceContainer()ForStResourceContainer(org.apache.flink.configuration.ReadableConfig configuration, ForStOptionsFactory optionsFactory, org.apache.flink.runtime.memory.OpaqueMemoryResource<org.apache.flink.state.forst.ForStSharedResources> sharedResources, org.apache.flink.core.fs.Path localBasePath, org.apache.flink.core.fs.Path remoteBasePath, org.apache.flink.core.execution.RecoveryClaimMode claimMode, org.apache.flink.runtime.state.CheckpointStorageAccess checkpointStorageAccess, org.apache.flink.metrics.MetricGroup metricGroup, boolean enableStatistics)ForStResourceContainer(ForStOptionsFactory optionsFactory)ForStResourceContainer(ForStOptionsFactory optionsFactory, org.apache.flink.runtime.memory.OpaqueMemoryResource<org.apache.flink.state.forst.ForStSharedResources> sharedResources)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearDirectories()Clear local and remote directories.voidclose()voidforceClearRemoteDirectories()org.apache.flink.core.fs.PathgetBasePath()org.forstdb.ColumnFamilyOptionsgetColumnOptions()Gets the ForStColumnFamilyOptionsto be used for all ForSt instances.org.forstdb.DBOptionsgetDbOptions()Gets the ForStDBOptionsto be used for ForSt instances.org.apache.flink.core.fs.PathgetDbPath()ForStFlinkFileSystemgetFileSystem()org.apache.flink.core.fs.PathgetLocalBasePath()org.apache.flink.core.fs.PathgetLocalForStPath()DurationgetPeriodicCompactionTime()Gets the "getPeriodicCompactionTime" parameter from the configuration.LonggetQueryTimeAfterNumEntries()Gets the "queryTimeAfterNumEntries" parameter from the configuration.intgetReadIoParallelism()org.forstdb.ReadOptionsgetReadOptions()Gets the ForStReadOptionsto be used for read operations.org.apache.flink.core.fs.PathgetRemoteBasePath()org.apache.flink.core.fs.PathgetRemoteForStPath()LonggetWriteBufferManagerCapacity()Gets write buffer manager capacity.intgetWriteIoParallelism()org.forstdb.WriteOptionsgetWriteOptions()Gets the ForStWriteOptionsto be used for write operations.booleanisCoordinatorInline()booleanisWriteInline()voidprepareDirectories()Prepare local and remote directories.
-
-
-
Field Detail
-
DB_DIR_STRING
public static final String DB_DIR_STRING
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ForStResourceContainer
@VisibleForTesting public ForStResourceContainer()
-
ForStResourceContainer
@VisibleForTesting public ForStResourceContainer(@Nullable ForStOptionsFactory optionsFactory)
-
ForStResourceContainer
@VisibleForTesting public ForStResourceContainer(@Nullable ForStOptionsFactory optionsFactory, @Nullable org.apache.flink.runtime.memory.OpaqueMemoryResource<org.apache.flink.state.forst.ForStSharedResources> sharedResources)
-
ForStResourceContainer
public ForStResourceContainer(org.apache.flink.configuration.ReadableConfig configuration, @Nullable ForStOptionsFactory optionsFactory, @Nullable org.apache.flink.runtime.memory.OpaqueMemoryResource<org.apache.flink.state.forst.ForStSharedResources> sharedResources, @Nullable org.apache.flink.core.fs.Path localBasePath, @Nullable org.apache.flink.core.fs.Path remoteBasePath, org.apache.flink.core.execution.RecoveryClaimMode claimMode, @Nullable org.apache.flink.runtime.state.CheckpointStorageAccess checkpointStorageAccess, org.apache.flink.metrics.MetricGroup metricGroup, boolean enableStatistics)
-
-
Method Detail
-
getDbOptions
public org.forstdb.DBOptions getDbOptions()
Gets the ForStDBOptionsto be used for ForSt instances.
-
getColumnOptions
public org.forstdb.ColumnFamilyOptions getColumnOptions()
Gets the ForStColumnFamilyOptionsto be used for all ForSt instances.
-
getWriteOptions
public org.forstdb.WriteOptions getWriteOptions()
Gets the ForStWriteOptionsto be used for write operations.
-
getReadOptions
public org.forstdb.ReadOptions getReadOptions()
Gets the ForStReadOptionsto be used for read operations.
-
getLocalBasePath
@Nullable public org.apache.flink.core.fs.Path getLocalBasePath()
-
getLocalForStPath
@Nullable public org.apache.flink.core.fs.Path getLocalForStPath()
-
getRemoteBasePath
@Nullable public org.apache.flink.core.fs.Path getRemoteBasePath()
-
getRemoteForStPath
@Nullable public org.apache.flink.core.fs.Path getRemoteForStPath()
-
getBasePath
public org.apache.flink.core.fs.Path getBasePath()
-
getDbPath
public org.apache.flink.core.fs.Path getDbPath()
-
isCoordinatorInline
public boolean isCoordinatorInline()
-
isWriteInline
public boolean isWriteInline()
-
getReadIoParallelism
public int getReadIoParallelism()
-
getWriteIoParallelism
public int getWriteIoParallelism()
-
prepareDirectories
public void prepareDirectories() throws ExceptionPrepare local and remote directories.- Throws:
Exception- if any unexpected behaviors.
-
getFileSystem
@Nullable public ForStFlinkFileSystem getFileSystem()
-
clearDirectories
public void clearDirectories() throws ExceptionClear local and remote directories.- Throws:
Exception- if any unexpected behaviors.
-
forceClearRemoteDirectories
public void forceClearRemoteDirectories() throws Exception- Throws:
Exception
-
close
public void close() throws Exception- Specified by:
closein interfaceAutoCloseable- Throws:
Exception
-
getWriteBufferManagerCapacity
public Long getWriteBufferManagerCapacity()
Gets write buffer manager capacity.- Returns:
- the capacity of the write buffer manager, or null if write buffer manager is not enabled.
-
getQueryTimeAfterNumEntries
public Long getQueryTimeAfterNumEntries()
Gets the "queryTimeAfterNumEntries" parameter from the configuration.
-
getPeriodicCompactionTime
public Duration getPeriodicCompactionTime()
Gets the "getPeriodicCompactionTime" parameter from the configuration.
-
-