Class RocksDBOperationUtils


  • public class RocksDBOperationUtils
    extends Object
    Utils for RocksDB Operations.
    • Constructor Detail

      • RocksDBOperationUtils

        public RocksDBOperationUtils()
    • Method Detail

      • openDB

        public static org.rocksdb.RocksDB openDB​(String path,
                                                 List<org.rocksdb.ColumnFamilyDescriptor> stateColumnFamilyDescriptors,
                                                 List<org.rocksdb.ColumnFamilyHandle> stateColumnFamilyHandles,
                                                 org.rocksdb.ColumnFamilyOptions columnFamilyOptions,
                                                 org.rocksdb.DBOptions dbOptions)
                                          throws IOException
        Throws:
        IOException
      • getRocksIterator

        public static RocksIteratorWrapper getRocksIterator​(org.rocksdb.RocksDB db,
                                                            org.rocksdb.ColumnFamilyHandle columnFamilyHandle,
                                                            org.rocksdb.ReadOptions readOptions)
      • createStateInfo

        public static RocksDBKeyedStateBackend.RocksDbKvStateInfo createStateInfo​(org.apache.flink.runtime.state.RegisteredStateMetaInfoBase metaInfoBase,
                                                                                  org.rocksdb.RocksDB db,
                                                                                  Function<String,​org.rocksdb.ColumnFamilyOptions> columnFamilyOptionsFactory,
                                                                                  @Nullable
                                                                                  RocksDbTtlCompactFiltersManager ttlCompactFiltersManager,
                                                                                  @Nullable
                                                                                  Long writeBufferManagerCapacity,
                                                                                  List<org.rocksdb.ExportImportFilesMetaData> importFilesMetaData,
                                                                                  org.apache.flink.core.fs.ICloseableRegistry cancelStreamRegistryForRestore)
        Creates a state info from a new meta info to use with a k/v state.

        Creates the column family for the state. Sets TTL compaction filter if ttlCompactFiltersManager is not null.

        Parameters:
        importFilesMetaData - if not empty, we import the files specified in the metadata to the column family.
      • createStateInfo

        public static RocksDBKeyedStateBackend.RocksDbKvStateInfo createStateInfo​(org.apache.flink.runtime.state.RegisteredStateMetaInfoBase metaInfoBase,
                                                                                  org.rocksdb.RocksDB db,
                                                                                  Function<String,​org.rocksdb.ColumnFamilyOptions> columnFamilyOptionsFactory,
                                                                                  @Nullable
                                                                                  RocksDbTtlCompactFiltersManager ttlCompactFiltersManager,
                                                                                  @Nullable
                                                                                  Long writeBufferManagerCapacity,
                                                                                  org.apache.flink.core.fs.ICloseableRegistry cancelStreamRegistryForRestore)
        Create RocksDB-backed KV-state, including RocksDB ColumnFamily.
        Parameters:
        cancelStreamRegistryForRestore - closing it interrupts KV state creation
      • createColumnFamilyDescriptor

        public static org.rocksdb.ColumnFamilyDescriptor createColumnFamilyDescriptor​(org.apache.flink.runtime.state.RegisteredStateMetaInfoBase metaInfoBase,
                                                                                      Function<String,​org.rocksdb.ColumnFamilyOptions> columnFamilyOptionsFactory,
                                                                                      @Nullable
                                                                                      RocksDbTtlCompactFiltersManager ttlCompactFiltersManager,
                                                                                      @Nullable
                                                                                      Long writeBufferManagerCapacity)
        Creates a column descriptor for a state column family.

        Sets TTL compaction filter if ttlCompactFiltersManager is not null.

      • createColumnFamilyOptions

        public static org.rocksdb.ColumnFamilyOptions createColumnFamilyOptions​(Function<String,​org.rocksdb.ColumnFamilyOptions> columnFamilyOptionsFactory,
                                                                                String stateName)
      • createColumnFamily

        public static org.rocksdb.ColumnFamilyHandle createColumnFamily​(org.rocksdb.ColumnFamilyDescriptor columnDescriptor,
                                                                        org.rocksdb.RocksDB db,
                                                                        List<org.rocksdb.ExportImportFilesMetaData> importFilesMetaData,
                                                                        org.apache.flink.core.fs.ICloseableRegistry cancelStreamRegistryForRestore)
                                                                 throws org.rocksdb.RocksDBException,
                                                                        InterruptedException
        Throws:
        org.rocksdb.RocksDBException
        InterruptedException
      • addColumnFamilyOptionsToCloseLater

        public static void addColumnFamilyOptionsToCloseLater​(List<org.rocksdb.ColumnFamilyOptions> columnFamilyOptions,
                                                              org.rocksdb.ColumnFamilyHandle columnFamilyHandle)