You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Ankur Goenka (JIRA)" <ji...@apache.org> on 2019/03/01 22:55:00 UTC

[jira] [Commented] (BEAM-6762) Behavior requires documentation: Pipeline can't run before fusion

    [ https://issues.apache.org/jira/browse/BEAM-6762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16782182#comment-16782182 ] 

Ankur Goenka commented on BEAM-6762:
------------------------------------

PAssert add custom user code in the pipeline for testing. 

With the portability execution model, all usercode has to be fused into executable stage before translation as translation only only understand native urns and executable stage urn.

This behavior should certainly be document.

> Behavior requires documentation: Pipeline can't run before fusion
> -----------------------------------------------------------------
>
>                 Key: BEAM-6762
>                 URL: https://issues.apache.org/jira/browse/BEAM-6762
>             Project: Beam
>          Issue Type: Task
>          Components: runner-core
>            Reporter: Kyle Weaver
>            Priority: Minor
>              Labels: documentation
>
> When I was prototyping a portable runner, I tested using a trivial pipeline:
> {noformat}
> PCollection<byte[]> result = p.apply("impulse", Impulse.create());
> PAssert.thatSingleton(result).isEqualTo(new byte[]{});
> {noformat}
> When I tried traversing this pipeline, I found that the URN for the transform PAssert$0 was strangely missing. Turns out GreedyPipelineFuser solves this problem. I don't know why this is so, but I think this behavior should at least be documented in the [runner authoring guide|https://beam.apache.org/contribute/runner-guide/#pipeline] to save future runner authors some debugging.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)