You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/02/28 16:40:45 UTC
[jira] [Commented] (FLINK-2814) DeltaIteration: DualInputPlanNode
cannot be cast to SingleInputPlanNode
[ https://issues.apache.org/jira/browse/FLINK-2814?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15888401#comment-15888401 ]
ASF GitHub Bot commented on FLINK-2814:
---------------------------------------
Github user greghogan commented on the issue:
https://github.com/apache/flink/pull/2029
@StephanEwen it is line 454: `solutionSetCandidate = siSolutionDeltaCandidate.getInput().getSource();` where I am seeing `solutionSetCandidate` changed from a `SingleInputPlanNode` to `DualInputPlanNode`. Why are we not exiting the loops after creating and adding the `WorksetIterationPlanNode`?
> 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: 0.10.0
> Reporter: Greg Hogan
> Assignee: Rekha Joshi
>
> 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.15#6346)