Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.10.0, 1.10.1, 1.11.0
Description
When I configure a custom OptionsFactory for RocksDB like this (similarly by specifying it via the state.backend.rocksdb.options-factory configuration):
Configuration globalConfig = GlobalConfiguration.loadConfiguration(); String checkpointDataUri = globalConfig.getString(CheckpointingOptions.CHECKPOINTS_DIRECTORY); RocksDBStateBackend stateBackend = new RocksDBStateBackend(checkpointDataUri); stateBackend.setOptions(new DefaultConfigurableOptionsFactoryWithLog()); env.setStateBackend((StateBackend) stateBackend);
it seems to be loaded
2020-06-10 12:54:20,720 INFO org.apache.flink.contrib.streaming.state.RocksDBStateBackend - Using predefined options: DEFAULT. 2020-06-10 12:54:20,721 INFO org.apache.flink.contrib.streaming.state.RocksDBStateBackend - Using application-defined options factory: DefaultConfigurableOptionsFactoryWithLog{DefaultConfigurableOptionsFactory{configuredOptions={}}}.
but it seems like none of the options defined in there is actually used. Just as an example, my factory does set the info log level to INFO_LEVEL but this is what you will see in the created RocksDB instance:
> cat /tmp/flink-io-c95e8f48-0daa-4fb9-a9a7-0e4fb42e9135/*/db/OPTIONS*|grep info_log_level info_log_level=HEADER_LEVEL info_log_level=HEADER_LEVEL
Together with the bug from FLINK-18241, it seems I cannot re-activate the RocksDB log that we disabled in FLINK-15068. FLINK-15747 was aiming at changing that particular configuration, but the problem seems broader since setDbLogDir() was actually also ignored and Flink itself does not change that setting.