You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Flink Jira Bot (Jira)" <ji...@apache.org> on 2021/06/03 23:32:03 UTC
[jira] [Updated] (FLINK-22455) FlinkRelBuilder#windowAggregate will
throw ClassCastException when function reuse
[ https://issues.apache.org/jira/browse/FLINK-22455?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Flink Jira Bot updated FLINK-22455:
-----------------------------------
Labels: auto-deprioritized-major (was: stale-major)
Priority: Minor (was: Major)
This issue was labeled "stale-major" 7 ago and has not received any updates so it is being deprioritized. If this ticket is actually Major, please raise the priority and ask a committer to assign you the issue or revive the public discussion.
> FlinkRelBuilder#windowAggregate will throw ClassCastException when function reuse
> ---------------------------------------------------------------------------------
>
> Key: FLINK-22455
> URL: https://issues.apache.org/jira/browse/FLINK-22455
> Project: Flink
> Issue Type: Bug
> Components: Table SQL / Planner
> Reporter: tartarus
> Priority: Minor
> Labels: auto-deprioritized-major
> Attachments: FlinkRelBuilderTest.scala
>
>
> If the input parameter aggCalls of FlinkRelBuilder#windowAggregate contains the same aggregate function. Then it will throw ClassCastException, because of the optimization of aggregate function reuse. We did not judge the return value type, but direct type conversion;
> {code:java}
> val aggregate = super.transform(
> new UnaryOperator[RelBuilder.Config] {
> override def apply(t: RelBuilder.Config)
> : RelBuilder.Config = t.withPruneInputOfAggregate(false)
> })
> .push(build())
> .aggregate(groupKey, aggCalls)
> .build()
> .asInstanceOf[LogicalAggregate]
> {code}
> I wrote a test that triggered this problem.
> You can use the attached code to reproduce this problem.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)