Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.10.0
-
None
Description
A delta iteration that closes with a solution set which is a JoinOperator throws the following exception:
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
Temporary fix is to attach an identity mapper.