[ 
https://issues.apache.org/jira/browse/FLINK-24608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17441010#comment-17441010
 ] 

Fabian Paul commented on FLINK-24608:
-------------------------------------

I do not fully see the connection between the *SinkUpsertMaterializer* and the 
issue described in the ticket. Is the *SinkUpsertMaterializer* suffering from 
the same problem as the unified Sinks? AFAICT the *SinkUpsertMaterializer* is 
not accessing the timestamp of the StreamRecord.


WDYT about an alternative 3 keeping one constraint operator before the 
*SinkUpsertMaterializer* with different functions i.e. not null enforcer, 
timestamp extractor ... and always use the StreamRecord#timestamp in the 
*SinkUpsertMaterializer*. It has the benefit that it is guaranteed that there 
is always a timestamp when using the materialize and you do not have to deal 
with null checks.




> Sinks built with the unified sink framework do not receive timestamps when 
> used in Table API
> --------------------------------------------------------------------------------------------
>
>                 Key: FLINK-24608
>                 URL: https://issues.apache.org/jira/browse/FLINK-24608
>             Project: Flink
>          Issue Type: Bug
>          Components: Connectors / Common, Table SQL / Planner
>    Affects Versions: 1.14.0, 1.13.3, 1.15.0
>            Reporter: Fabian Paul
>            Assignee: Marios Trivyzas
>            Priority: Critical
>
> All sinks built with the unified sink framework extract the timestamp from 
> the internal {{StreamRecord}}. The Table API does not facilitate the 
> timestamp field in the {{StreamRecord}}  but extracts the timestamp from the 
> actual data. 
> We either have to use a dedicated operator before all the sinks to simulate 
> the behavior or allow a customizable timestamp extraction during the sink 
> translation.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to