Greg Hogan created FLINK-2814:
---------------------------------
Summary: DeltaIteration: DualInputPlanNode cannot be cast to
SingleInputPlanNode
Key: FLINK-2814
URL: https://issues.apache.org/jira/browse/FLINK-2814
Project: Flink
Issue Type: Bug
Components: Optimizer
Affects Versions: master
Reporter: Greg Hogan
A delta iteration that closes with a solution set which is a {{JoinOperator}}
throws the following exception:
{noformat}
org.apache.flink.client.program.ProgramInvocationException: The main method
caused an error.
at
org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:444)
at
org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:345)
at org.apache.flink.client.program.Client.runBlocking(Client.java:289)
at
org.apache.flink.client.CliFrontend.executeProgramBlocking(CliFrontend.java:669)
at org.apache.flink.client.CliFrontend.run(CliFrontend.java:324)
at
org.apache.flink.client.CliFrontend.parseParameters(CliFrontend.java:969)
at org.apache.flink.client.CliFrontend.main(CliFrontend.java:1019)
Caused by: java.lang.ClassCastException:
org.apache.flink.optimizer.plan.DualInputPlanNode cannot be cast to
org.apache.flink.optimizer.plan.SingleInputPlanNode
at
org.apache.flink.optimizer.dag.WorksetIterationNode.instantiate(WorksetIterationNode.java:432)
at
org.apache.flink.optimizer.dag.TwoInputNode.addLocalCandidates(TwoInputNode.java:557)
at
org.apache.flink.optimizer.dag.TwoInputNode.getAlternativePlans(TwoInputNode.java:478)
at
org.apache.flink.optimizer.dag.DataSinkNode.getAlternativePlans(DataSinkNode.java:204)
at
org.apache.flink.optimizer.dag.TwoInputNode.getAlternativePlans(TwoInputNode.java:309)
at
org.apache.flink.optimizer.dag.TwoInputNode.getAlternativePlans(TwoInputNode.java:308)
at org.apache.flink.optimizer.Optimizer.compile(Optimizer.java:500)
at org.apache.flink.optimizer.Optimizer.compile(Optimizer.java:402)
at
org.apache.flink.client.program.Client.getOptimizedPlan(Client.java:271)
at
org.apache.flink.client.program.Client.getOptimizedPlan(Client.java:543)
at org.apache.flink.client.program.Client.runBlocking(Client.java:350)
at
org.apache.flink.client.program.ContextEnvironment.execute(ContextEnvironment.java:64)
at
org.apache.flink.api.java.ExecutionEnvironment.execute(ExecutionEnvironment.java:796)
at org.apache.flink.api.java.DataSet.collect(DataSet.java:424)
at org.apache.flink.api.java.DataSet.print(DataSet.java:1365)
at Driver.main(Driver.java:366)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at
org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:429)
... 6 more
{noformat}
Temporary fix is to attach an identity mapper.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)