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]