Hi,I have some questions about state TTL to consult with everybody,the statebackend is rocksdb Below is my code: -----------------code begin------------- private static final String EV_STATE_FLAG = "EV_EID_FLAG";
StateTtlConfig ttlConfig = StateTtlConfig .newBuilder(Time.minutes(60)) .updateTtlOnCreateAndWrite() .neverReturnExpired() .cleanupInRocksdbCompactFilter(1000) .build(); MapStateDescriptor<String, Integer> eidMapStateDesc = new MapStateDescriptor<>( EV_STATE_FLAG , BasicTypeInfo.STRING_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO); eidMapStateDesc.enableTimeToLive(ttlConfig); eidMapState = getRuntimeContext().getMapState(eidMapStateDesc); -----------------code end----------------- I have set the TTL of the state is 60mins, But after 12 hours, through the monitor of rocksdb metric , we found that the sst file of CF:EV_EID_FLAG has been increasing, and there is no decreasing trend. Later we found some information from the taskmanager log:*WARN org.rocksdb.FlinkCompactionFilter - Cannot configure RocksDB TTL compaction filter for state < EV_EID_FLAG >: feature is disabled for the state backend* After I added "*state.backend.rocksdb.ttl.compaction.filter.**enabled: true*" this parameter, the warn information disappeared, but ater the project completed some checkpoints ,The next checkpoint will always fail, I checked the jstack command and found that the fail checkpoint was stuck in acquiring state ,disk io is idle;remove the " *state.backend.rocksdb.ttl.compaction.filter.**enabled: true"* the parameter,the project will resume the checkpoint. So I’m asking everyone here. Is my usage method wrong?