lincoln-lil opened a new pull request, #22918:
URL: https://github.com/apache/flink/pull/22918

   ## What is the purpose of the change
   Currently when uses window aggregation referring a windowing tvf with a 
filter condition, may encounter wrong plan which may hang forever in 
runtime(the window aggregate operator never output), because the plan which 
didn't combine the proctime `WindowTableFunction` into `WindowAggregate` (so 
when translate to execution plan the `WindowAggregate` will wrongly recognize 
the window as an event-time window, then the `WindowAggregateOperator` will not 
receive watermark nor setup timers to fire any windows in runtime).
   
   The root cause is the incorrectly cost evaluation in such cases for 
streaming, we can fix this by simply adding a branch for calculating 
selectivity of `CommonPhysicalWindowTableFunction` node which is the base 
factor for row count.
   
   Ideally, maybe we can do some more refactoring to move this combination 
optimization to the rbo phase (not rely on cost)
   
   ## Brief change log
   adding a branch for calculating selectivity of 
`CommonPhysicalWindowTableFunction` node to correct the cost
   
   ## Verifying this change
   add test cases to `WindowAggregateTest` & `FlinkRelMdSelectivityTest`
   
   ## Does this pull request potentially affect one of the following parts:
     - Dependencies (does it add or upgrade a dependency): (no)
     - The public API, i.e., is any changed class annotated with 
@Public(Evolving): (no)
     - The serializers: (no )
     - The runtime per-record code paths (performance sensitive): (no)
     - Anything that affects deployment or recovery: JobManager (and its 
components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (no)
     - The S3 file system connector: (no)
   
   ## Documentation
     - Does this pull request introduce a new feature? (no)


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