Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
1.6.2, 1.7.0
-
None
Description
set state backends is rocksdb
set 'state.backend.rocksdb.timer-service.factory' by Configuration not flink-conf.yaml
RocksDBStateBackend backend = new RocksDBStateBackend(checkpointPath,true); Configuration configuration = new Configuration(); configuration.setString( RocksDBOptions.TIMER_SERVICE_FACTORY, RocksDBStateBackend.PriorityQueueStateType.ROCKSDB.toString()); backend = backend.configure(configuration);
then submit the job by client
but the job runtime the 'TIMER_SERVICE_FACTORY' Covered by jobmaster
RocksDBOptions.TIMER_SERVICE_FACTORY
jobmaster code
org.apache.flink.runtime.state.StateBackendLoader
backend = ((ConfigurableStateBackend) fromApplication).configure(config);
jobmaster buildGraph config is from flink-conf.yaml
Final execution of the same method
org.apache.flink.contrib.streaming.state.RocksDBStateBackend
final String priorityQueueTypeString = config.getString(TIMER_SERVICE_FACTORY); this.priorityQueueStateType = priorityQueueTypeString.length() > 0 ? PriorityQueueStateType.valueOf(priorityQueueTypeString.toUpperCase()) : original.priorityQueueStateType;
the problem is config.getString(TIMER_SERVICE_FACTORY)
always have value regardless of configuration
so my customize config by Covered by jobmatser
Attachments
Issue Links
- duplicates
-
FLINK-11193 Rocksdb timer service factory configuration option is not settable per job
- Closed