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

Spurious failure in compiler due to corrupt branch tracking logic

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.8.0
    • 0.8.0
    • API / DataSet
    • None

    Description

      The optimizer fails in that case with the following stack trace:

      Exception in thread "main" org.apache.flink.compiler.CompilerException: Bug: Tracing dams for deadlock detection is broken.
      	at org.apache.flink.compiler.dag.TwoInputNode.placePipelineBreakersIfNecessary(TwoInputNode.java:618)
      	at org.apache.flink.compiler.dag.TwoInputNode.instantiate(TwoInputNode.java:553)
      	at org.apache.flink.compiler.dag.TwoInputNode.addLocalCandidates(TwoInputNode.java:504)
      	at org.apache.flink.compiler.dag.TwoInputNode.getAlternativePlans(TwoInputNode.java:436)
      	at org.apache.flink.compiler.dag.SingleInputNode.getAlternativePlans(SingleInputNode.java:258)
      	at org.apache.flink.compiler.dag.TwoInputNode.getAlternativePlans(TwoInputNode.java:305)
      	at org.apache.flink.compiler.dag.SingleInputNode.getAlternativePlans(SingleInputNode.java:258)
      	at org.apache.flink.compiler.dag.SingleInputNode.getAlternativePlans(SingleInputNode.java:258)
      	at org.apache.flink.compiler.dag.TwoInputNode.getAlternativePlans(TwoInputNode.java:305)
      	at org.apache.flink.compiler.dag.SingleInputNode.getAlternativePlans(SingleInputNode.java:258)
      	at org.apache.flink.compiler.dag.TwoInputNode.getAlternativePlans(TwoInputNode.java:305)
      	at org.apache.flink.compiler.dag.SingleInputNode.getAlternativePlans(SingleInputNode.java:258)
      	at org.apache.flink.compiler.dag.SingleInputNode.getAlternativePlans(SingleInputNode.java:268)
      	at org.apache.flink.compiler.dag.BinaryUnionNode.getAlternativePlans(BinaryUnionNode.java:105)
      	at org.apache.flink.compiler.dag.BinaryUnionNode.getAlternativePlans(BinaryUnionNode.java:104)
      	at org.apache.flink.compiler.dag.SingleInputNode.getAlternativePlans(SingleInputNode.java:258)
      	at org.apache.flink.compiler.dag.BulkIterationNode.instantiateCandidate(BulkIterationNode.java:296)
      	at org.apache.flink.compiler.dag.SingleInputNode.addLocalCandidates(SingleInputNode.java:367)
      	at org.apache.flink.compiler.dag.SingleInputNode.getAlternativePlans(SingleInputNode.java:315)
      	at org.apache.flink.compiler.dag.SingleInputNode.getAlternativePlans(SingleInputNode.java:258)
      	at org.apache.flink.compiler.dag.SingleInputNode.getAlternativePlans(SingleInputNode.java:258)
      	at org.apache.flink.compiler.dag.SingleInputNode.getAlternativePlans(SingleInputNode.java:258)
      	at org.apache.flink.compiler.dag.BinaryUnionNode.getAlternativePlans(BinaryUnionNode.java:105)
      	at org.apache.flink.compiler.dag.BinaryUnionNode.getAlternativePlans(BinaryUnionNode.java:104)
      	at org.apache.flink.compiler.dag.SingleInputNode.getAlternativePlans(SingleInputNode.java:258)
      	at org.apache.flink.compiler.dag.DataSinkNode.getAlternativePlans(DataSinkNode.java:194)
      	at org.apache.flink.compiler.PactCompiler.compile(PactCompiler.java:561)
      	at org.apache.flink.compiler.PactCompiler.compile(PactCompiler.java:466)
      	at org.apache.flink.client.LocalExecutor.executePlan(LocalExecutor.java:233)
      	at org.apache.flink.api.java.LocalEnvironment.execute(LocalEnvironment.java:51)
      	at org.apache.flink.api.scala.ExecutionEnvironment.execute(ExecutionEnvironment.scala:391)
      

      The program that fails in the optimizer is from a user. I have not been able to reduce it significantly into a standalone test case that reproduces the bug.

      Attachments

        Activity

          People

            sewen Stephan Ewen
            sewen Stephan Ewen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: