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)