Class 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.

    • Constructor Detail

      • ForStResourceContainer

        @VisibleForTesting
        public ForStResourceContainer()
      • 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
                                      File localBasePath,
                                      @Nullable
                                      org.apache.flink.core.fs.Path remoteBasePath,
                                      boolean enableStatistics)
    • Method Detail

      • getDbOptions

        public org.rocksdb.DBOptions getDbOptions()
        Gets the ForSt DBOptions to be used for ForSt instances.
      • getColumnOptions

        public org.rocksdb.ColumnFamilyOptions getColumnOptions()
        Gets the ForSt ColumnFamilyOptions to be used for all ForSt instances.
      • getWriteOptions

        public org.rocksdb.WriteOptions getWriteOptions()
        Gets the ForSt WriteOptions to be used for write operations.
      • getReadOptions

        public org.rocksdb.ReadOptions getReadOptions()
        Gets the ForSt ReadOptions to be used for read operations.
      • getRemoteBasePath

        @Nullable
        public org.apache.flink.core.fs.Path getRemoteBasePath()
      • getRemoteForStPath

        @Nullable
        public org.apache.flink.core.fs.Path getRemoteForStPath()
      • prepareDirectories

        public void prepareDirectories()
                                throws Exception
        Prepare local and remote directories.
        Throws:
        Exception - if any unexpected behaviors.
      • clearDirectories

        public void clearDirectories()
                              throws Exception
        Clear local and remote directories.
        Throws:
        Exception - if any unexpected behaviors.