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)