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


---

Reply via email to