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`.
---