lincoln-lil commented on code in PR #29367:
URL: https://github.com/apache/flink/pull/29367#discussion_r4227561588


##########
docs/content/docs/concepts/sql-table-concepts/determinism.md:
##########
@@ -191,6 +191,8 @@ On query pipeline with update messages and cannot derive 
the update key, the fol
 2. LookupJoin on an evolving source
 3. [CDC source]({{< ref "docs/connectors/table/kafka" 
>}}#cdc-changelog-source) carries metadata fields(system columns, not belongs 
to the entity row itself)
 
+Even when the update key can be derived, a non-deterministic function in a 
filter or in a regular join condition is an NDU problem as well: the condition 
decides whether a row and later its retraction are emitted, so `WHERE b > 
UNIX_TIMESTAMP() - 300` on a CDC table can drop the retraction of a row whose 
insert passed. `TRY_RESOLVE` rejects such conditions.

Review Comment:
   nit: would it make sense to scope this statement to Calcs that evaluate the 
predicate independently on inserts and retractions? Filters inside 
ChangelogNormalize emit retractions from state without re-evaluating the 
predicate, so the distinction matters here (FLINK-40898). This could also be 
reflected in both translations and the class-level comment.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to