Lim Qing Wei created FLINK-35341:
------------------------------------

             Summary: Retraction stop working with Clock dependent function in 
Filter
                 Key: FLINK-35341
                 URL: https://issues.apache.org/jira/browse/FLINK-35341
             Project: Flink
          Issue Type: Bug
          Components: Table SQL / Runtime
    Affects Versions: 1.17.1
            Reporter: Lim Qing Wei


 

Say we have a Flink SQL view where
 # we use clock dependent function like `UNIX_TIMESTAMP()` in query filter, eg. 
WHERE clause, eg. table.timestamp < UNIX_TIMESTAMP()
 # source record is retracted at a time where the filter is evaluated as false

we expect a retraction is produced from the view, but in practice nothing 
happen.

 

We are using kafka as a source, here's a small snippet that shows the problem.

 
{code:java}
CREATE TEMPORARY VIEW my_view AS
    SELECT key,
            someData,
            expiry
    FROM upstream 
    WHERE expiry > UNIX_TIMESTAMP();


select * from my_view where key = 5574332;{code}
 

 

The actual query is a bit more complicated but this simplified one should 
illustrate the issue. Below is the event happen in chronological order:

 
 # Run this query as a stream
 # Create a record in upstream where key = 5574332, and expiry to be in 3 
minutes into the future.
 # Observe insertion of the record, as expected
 # Wait for 3 minutes
 # Now the record should expired, but given there's no update, there's no 
change to the stream output just yet
 # Delete the upstream record (using tombstone in kafka)
 # Observe no change in the stream output, but we are expecting retraction(aka 
deletion)

 

Is this a known issue? I've search Jira but could find any, I observed this in 
1.15 until 1.17, havent tested with 1.18 and above though



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to