Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-2814

DeltaIteration: DualInputPlanNode cannot be cast to SingleInputPlanNode

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.10.0
    • 1.3.0
    • API / DataSet
    • 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.

      Attachments

        Activity

          People

            rekhajoshm Rekha Joshi
            greghogan Greg Hogan
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: