Class RestoredDBInstance

  • All Implemented Interfaces:
    AutoCloseable

    public class RestoredDBInstance
    extends Object
    implements AutoCloseable
    Restored DB instance containing all necessary handles and metadata.
    • Field Detail

      • db

        @Nonnull
        public final org.rocksdb.RocksDB db
      • defaultColumnFamilyHandle

        @Nonnull
        public final org.rocksdb.ColumnFamilyHandle defaultColumnFamilyHandle
      • columnFamilyHandles

        @Nonnull
        public final List<org.rocksdb.ColumnFamilyHandle> columnFamilyHandles
      • columnFamilyDescriptors

        @Nonnull
        public final List<org.rocksdb.ColumnFamilyDescriptor> columnFamilyDescriptors
      • stateMetaInfoSnapshots

        @Nonnull
        public final List<org.apache.flink.runtime.state.metainfo.StateMetaInfoSnapshot> stateMetaInfoSnapshots
      • readOptions

        public final org.rocksdb.ReadOptions readOptions
      • srcStateHandle

        public final org.apache.flink.runtime.state.IncrementalLocalKeyedStateHandle srcStateHandle
    • Constructor Detail

      • RestoredDBInstance

        public RestoredDBInstance​(@Nonnull
                                  org.rocksdb.RocksDB db,
                                  @Nonnull
                                  List<org.rocksdb.ColumnFamilyHandle> columnFamilyHandles,
                                  @Nonnull
                                  List<org.rocksdb.ColumnFamilyDescriptor> columnFamilyDescriptors,
                                  @Nonnull
                                  List<org.apache.flink.runtime.state.metainfo.StateMetaInfoSnapshot> stateMetaInfoSnapshots,
                                  org.apache.flink.runtime.state.IncrementalLocalKeyedStateHandle srcStateHandle)
    • Method Detail

      • restoreTempDBInstanceFromLocalState

        public static RestoredDBInstance restoreTempDBInstanceFromLocalState​(org.apache.flink.runtime.state.IncrementalLocalKeyedStateHandle stateHandle,
                                                                             List<org.apache.flink.runtime.state.metainfo.StateMetaInfoSnapshot> stateMetaInfoSnapshots,
                                                                             Function<String,​org.rocksdb.ColumnFamilyOptions> columnFamilyOptionsFactory,
                                                                             org.rocksdb.DBOptions dbOptions,
                                                                             RocksDbTtlCompactFiltersManager ttlCompactFiltersManager,
                                                                             Long writeBufferManagerCapacity)
                                                                      throws Exception
        Restores a RocksDB instance from local state for the given state handle.
        Parameters:
        stateHandle - the state handle to restore from
        columnFamilyOptionsFactory - factory for creating column family options
        dbOptions - database options
        ttlCompactFiltersManager - TTL compact filters manager (can be null)
        writeBufferManagerCapacity - write buffer manager capacity (can be null)
        Returns:
        restored DB instance with all necessary handles and metadata
        Throws:
        Exception - on any restore error
      • createColumnFamilyDescriptors

        public static List<org.rocksdb.ColumnFamilyDescriptor> createColumnFamilyDescriptors​(List<org.apache.flink.runtime.state.metainfo.StateMetaInfoSnapshot> stateMetaInfoSnapshots,
                                                                                             Function<String,​org.rocksdb.ColumnFamilyOptions> columnFamilyOptionsFactory,
                                                                                             RocksDbTtlCompactFiltersManager ttlCompactFiltersManager,
                                                                                             Long writeBufferManagerCapacity,
                                                                                             boolean registerTtlCompactFilter)
        This method recreates and registers all ColumnFamilyDescriptor from Flink's state metadata snapshot.