You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "Thomas Groh (JIRA)" <ji...@apache.org> on 2017/03/21 20:57:41 UTC

[jira] [Created] (BEAM-1777) If PipelineEnforcement throws an exception after Pipeline.run() fails, it overwrites the original failure

Thomas Groh created BEAM-1777:
---------------------------------

             Summary: If PipelineEnforcement throws an exception after Pipeline.run() fails, it overwrites the original failure
                 Key: BEAM-1777
                 URL: https://issues.apache.org/jira/browse/BEAM-1777
             Project: Beam
          Issue Type: Bug
          Components: sdk-java-core
            Reporter: Thomas Groh
            Assignee: Stas Levin


The exception is thrown out of the finally block after the original exception was already thrown, and is not properly suppressed.

If the Pipeline throws an exception in construction (including validation failures), this can cause {{AbandonedNodeEnforcement}} to attempt to traverse a {{Pipeline}} which is invalid, which throws another exception. That exception is improperly propagated instead of the original failure, which complicates debugging.

An example is using an unkeyed input PCollection to a Stateful ParDo. The validation will fail, but the error message will suggest that a node has incompletely specified outputs (which is a consequence rather than a cause of having an invalid transform).



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)