[
https://issues.apache.org/jira/browse/FLINK-9514?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16521801#comment-16521801
]
ASF GitHub Bot commented on FLINK-9514:
---------------------------------------
Github user sihuazhou commented on the issue:
https://github.com/apache/flink/pull/6186
Maybe let me elaborate the TTL checking condition in detail, overall the
checking condition contains two parts and looks like `(current_ts - update_ts)
- time_shift_offset >= TTL`.
The `time_shift_offset` is the shift offset that we should applied when
checking the TTL.
- For the records that the `update_ts` > `checkpoint_ts`, we could know
they were created(or updated) after the last restoring so we don't need to
apply any shift to it. So that shift offset is `0`.
- For the records that the `update_ts` <= `checkpoint_ts`, we could know
they were created(or updated) before the last restoring so we need to apply the
shift to it, the shift offset is `recovery_ts - checkpoint_ts`.
In our current code, we didn't do the time-align works, it equals to a
special case of the above condition where the `time_shift_offset` is always `0`.
> Create wrapper with TTL logic for value state
> ---------------------------------------------
>
> Key: FLINK-9514
> URL: https://issues.apache.org/jira/browse/FLINK-9514
> Project: Flink
> Issue Type: Sub-task
> Components: State Backends, Checkpointing
> Affects Versions: 1.6.0
> Reporter: Andrey Zagrebin
> Assignee: Andrey Zagrebin
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.6.0
>
>
> TTL state decorator uses original state with packed TTL and add TTL logic
> using time provider:
> {code:java}
> TtlValueState<V> implements ValueState<V> {
> ValueState<TtlValue<V>> underlyingState;
> InternalTimeService timeProvider;
> V value() {
> TtlValue<V> valueWithTtl = underlyingState.get();
> // ttl logic here (e.g. update timestamp)
> return valueWithTtl.getValue();
> }
> void update() { ... underlyingState.update(valueWithTtl) ... }
> }
> {code}
> TTL decorators are apply to state produced by normal state binder in its TTL
> wrapper from FLINK-9513
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)