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]