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/10/28 22:40:02 UTC

[jira] [Updated] (FLINK-21212) Can no longer cast INT to DATE

     [ https://issues.apache.org/jira/browse/FLINK-21212?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Flink Jira Bot updated FLINK-21212:
-----------------------------------
    Labels: auto-deprioritized-major stale-minor  (was: auto-deprioritized-major)

I am the [Flink Jira Bot|https://github.com/apache/flink-jira-bot/] and I help the community manage its development. I see this issues has been marked as Minor but is unassigned and neither itself nor its Sub-Tasks have been updated for 180 days. I have gone ahead and marked it "stale-minor". If this ticket is still Minor, please either assign yourself or give an update. Afterwards, please remove the label or in 7 days the issue will be deprioritized.


> Can no longer cast INT to DATE
> ------------------------------
>
>                 Key: FLINK-21212
>                 URL: https://issues.apache.org/jira/browse/FLINK-21212
>             Project: Flink
>          Issue Type: Improvement
>          Components: API / Type Serialization System
>    Affects Versions: 1.12.1
>         Environment: EMR 6.1
> Flink 1.12.1
>            Reporter: Rex Remind
>            Priority: Minor
>              Labels: auto-deprioritized-major, stale-minor
>
> I upgraded from 1.11.3 to 1.12.1 and can no longer cast int to date. Data is arriving from Debezium. We also went from json to avro but I'd think that would be unrelated.
> Example:
> {code:java}
> .addOrReplaceColumns(
>  $"date".cast(Types.SQL_DATE()) as "date"
>  ) {code}
>  
> Result:
> {code:java}
> org.apache.flink.client.program.ProgramInvocationException: The main method caused an error: Invalid function call:
> cast(INT, DATE)
>  at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:360)
>  at org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:213)
>  at org.apache.flink.client.ClientUtils.executeProgram(ClientUtils.java:114)
>  at org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:816)
>  at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:248)
>  at org.apache.flink.client.cli.CliFrontend.parseAndRun(CliFrontend.java:1058)
>  at org.apache.flink.client.cli.CliFrontend.lambda$main$10(CliFrontend.java:1136)
>  at java.base/java.security.AccessController.doPrivileged(Native Method)
>  at java.base/javax.security.auth.Subject.doAs(Subject.java:423)
>  at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1730)
>  at org.apache.flink.runtime.security.contexts.HadoopSecurityContext.runSecured(HadoopSecurityContext.java:41)
>  at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:1136)
> Caused by: org.apache.flink.table.api.ValidationException: Invalid function call:
> cast(INT, DATE)
>  at org.apache.flink.table.types.inference.TypeInferenceUtil.createInvalidCallException(TypeInferenceUtil.java:190)
>  at org.apache.flink.table.types.inference.TypeInferenceUtil.runTypeInference(TypeInferenceUtil.java:87)
>  at org.apache.flink.table.expressions.resolver.rules.ResolveCallByArgumentsRule$ResolvingCallVisitor.runTypeInference(ResolveCallByArgumentsRule.java:222)
>  at org.apache.flink.table.expressions.resolver.rules.ResolveCallByArgumentsRule$ResolvingCallVisitor.lambda$visit$1(ResolveCallByArgumentsRule.java:149)
>  at java.base/java.util.Optional.map(Optional.java:265)
>  at org.apache.flink.table.expressions.resolver.rules.ResolveCallByArgumentsRule$ResolvingCallVisitor.visit(ResolveCallByArgumentsRule.java:147)
>  at org.apache.flink.table.expressions.resolver.rules.ResolveCallByArgumentsRule$ResolvingCallVisitor.visit(ResolveCallByArgumentsRule.java:91)
>  at org.apache.flink.table.expressions.ApiExpressionVisitor.visit(ApiExpressionVisitor.java:37)
>  at org.apache.flink.table.expressions.UnresolvedCallExpression.accept(UnresolvedCallExpression.java:128)
>  at org.apache.flink.table.expressions.resolver.rules.ResolveCallByArgumentsRule$ResolvingCallVisitor.visit(ResolveCallByArgumentsRule.java:138)
>  at org.apache.flink.table.expressions.resolver.rules.ResolveCallByArgumentsRule$ResolvingCallVisitor.visit(ResolveCallByArgumentsRule.java:91)
>  at org.apache.flink.table.expressions.ApiExpressionVisitor.visit(ApiExpressionVisitor.java:37)
>  at org.apache.flink.table.expressions.UnresolvedCallExpression.accept(UnresolvedCallExpression.java:128)
>  at org.apache.flink.table.expressions.resolver.rules.ResolveCallByArgumentsRule.lambda$apply$0(ResolveCallByArgumentsRule.java:85)
>  at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:271)
>  at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
>  at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
>  at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
>  at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
>  at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
>  at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
>  at org.apache.flink.table.expressions.resolver.rules.ResolveCallByArgumentsRule.apply(ResolveCallByArgumentsRule.java:86)
>  at org.apache.flink.table.expressions.resolver.ExpressionResolver.lambda$null$1(ExpressionResolver.java:212)
>  at java.base/java.util.function.Function.lambda$andThen$1(Function.java:88)
>  at org.apache.flink.table.expressions.resolver.ExpressionResolver.resolve(ExpressionResolver.java:175)
>  at org.apache.flink.table.operations.utils.OperationTreeBuilder.projectInternal(OperationTreeBuilder.java:191)
>  at org.apache.flink.table.operations.utils.OperationTreeBuilder.project(OperationTreeBuilder.java:163)
>  at org.apache.flink.table.operations.utils.OperationTreeBuilder.addColumns(OperationTreeBuilder.java:208)
>  at org.apache.flink.table.api.internal.TableImpl.addColumnsOperation(TableImpl.java:483)
>  at org.apache.flink.table.api.internal.TableImpl.addOrReplaceColumns(TableImpl.java:465)
>  at com.remind.graph.plans.people_compacted.PeopleCompactedJobScala.executePlan(PeopleCompactedJobScala.scala:283)
>  at com.remind.graph.plans.FlinkJobBase.run(FlinkJobBase.java:96)
>  at com.remind.graph.plans.people_compacted.PeopleCompactedJobScala$.main(PeopleCompactedJobScala.scala:87)
>  at com.remind.graph.plans.people_compacted.PeopleCompactedJobScala.main(PeopleCompactedJobScala.scala)
>  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>  at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:343)
>  ... 11 more
> Caused by: org.apache.flink.table.api.ValidationException: Invalid input arguments. Expected signatures are:
> cast(<ANY>, <TYPE LITERAL>)
>  at org.apache.flink.table.types.inference.TypeInferenceUtil.createInvalidInputException(TypeInferenceUtil.java:177)
>  at org.apache.flink.table.types.inference.TypeInferenceUtil.runTypeInferenceInternal(TypeInferenceUtil.java:333)
>  at org.apache.flink.table.types.inference.TypeInferenceUtil.runTypeInference(TypeInferenceUtil.java:85)
>  ... 48 more
> Caused by: org.apache.flink.table.api.ValidationException: Unsupported cast from 'INT' to 'DATE'.
>  at org.apache.flink.table.types.inference.CallContext.newValidationError(CallContext.java:93)
>  at org.apache.flink.table.types.inference.strategies.CastInputTypeStrategy.inferInputTypes(CastInputTypeStrategy.java:72)
>  at org.apache.flink.table.types.inference.TypeInferenceUtil.inferInputTypes(TypeInferenceUtil.java:436)
>  at org.apache.flink.table.types.inference.TypeInferenceUtil.adaptArguments(TypeInferenceUtil.java:124)
>  at org.apache.flink.table.types.inference.TypeInferenceUtil.adaptArguments(TypeInferenceUtil.java:101)
>  at org.apache.flink.table.types.inference.TypeInferenceUtil.runTypeInferenceInternal(TypeInferenceUtil.java:331)
>  ... 49 more {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)