Thanks a lot for your detailed feedback on this topic.
It looks like we can already do some preliminary wrap-up for this
As far as I see we have the following trends:
*Last access timestamp: **Event timestamp of currently being processed
*Current timestamp to check expiration, *two options:
- *Last emitted watermark*
*- **Current processing time*
From the implementation perspective, it does not seem to be a big deal to
make it configurable as we already have processing time provider. Although,
it looks like our TtlTimeProvider would need two methods from now on:
getAccessTimestamp and getCurrentTimestamp.
The biggest concern is out-of-orderness problem. In general, from Flink
side it does not look that we can do a lot about it except putting again a
caveat into the user docs about it. It depends on the use case whether the
out-of-orderness can be tolerated or not and whether an additional stream
ordering operator needs to be put before TTL state access.
I would still consider TTL event time feature to be implemented as we have
some user requests for it. Any further feedback is appreciated.
On Tue, Apr 9, 2019 at 5:26 PM aitozi <[EMAIL PROTECTED]> wrote: