fresh-borzoni commented on code in PR #28090:
URL: https://github.com/apache/flink/pull/28090#discussion_r4417667149


##########
flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/plan/optimize/program/FlinkChangelogModeInferenceProgram.scala:
##########
@@ -871,25 +909,34 @@ class FlinkChangelogModeInferenceProgram extends 
FlinkOptimizeProgram[StreamOpti
           }
 
         case normalize: StreamPhysicalChangelogNormalize =>
-          // changelog normalize currently only supports input only sending 
UPDATE_AFTER
-          val children = visitChildren(normalize, 
UpdateKindTrait.ONLY_UPDATE_AFTER)
-          // use requiredTrait as providedTrait,
-          // because changelog normalize supports all kinds of UpdateKind
+          // Prefer UA-only from children, fall back to BEFORE_AND_AFTER when 
the child can't
+          // drop UB (e.g. a CDC source with a non-upsert-key filter pushed 
down). The runtime
+          // operator folds incoming UB/DELETE events into its state.
+          val inputModifyKindSet = getModifyKindSet(normalize.getInput)

Review Comment:
   I believe it's already fixed, wdym?



-- 
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