[ 
https://issues.apache.org/jira/browse/BEAM-1763?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aviem Zur updated BEAM-1763:
----------------------------
    Description: 
This doesn't need to be part of each {{PipelineRunner}} implementation if it 
goes through the {{PipelineResult}} APIs. The assertion can be of the form that 
if the Pipeline is finished, then the number of successful assertions is equal 
to the total number of assertions.

Suggested solution:

For runners which support metrics, use the counters for successful/failed 
assertions and compare them to expected number of assertions.
Runners which do not support metrics should either implement metrics or 
override {{PAssert}} in a way that verifies its execution.

  was:
This doesn't need to be part of each {{PipelineRunner}} implementation if it 
goes through the {{PipelineResult}} APIs. The assertion can be of the form that 
if the Pipeline is finished, then the number of successful assertions is equal 
to the total number of assertions.

Suggested solution:

For runners which support metrics, use the counters for successful/failed 
assertions and compare them to expected number of assertions.

For runners which do not support metrics consider implementing a fallback 
solution:
{{PAssert}} will write to temp files, which will be placed in the test's 
{{tempLocation}} ({{file}} in local mode, {{gs/hdfs}} in cluster mode). These 
temp files' names will include a UUID generated for each test, this UUID will 
be accessible to {{PAssert}} or the text sink.
Successful assertion count and failed assertion count + exceptions will be 
written to text files which will then be accessible to {{TestPipeline}} to 
assert on.


> TestPipeline should ensure that all assertions succeeded
> --------------------------------------------------------
>
>                 Key: BEAM-1763
>                 URL: https://issues.apache.org/jira/browse/BEAM-1763
>             Project: Beam
>          Issue Type: Sub-task
>          Components: sdk-java-core
>            Reporter: Thomas Groh
>            Assignee: Aviem Zur
>
> This doesn't need to be part of each {{PipelineRunner}} implementation if it 
> goes through the {{PipelineResult}} APIs. The assertion can be of the form 
> that if the Pipeline is finished, then the number of successful assertions is 
> equal to the total number of assertions.
> Suggested solution:
> For runners which support metrics, use the counters for successful/failed 
> assertions and compare them to expected number of assertions.
> Runners which do not support metrics should either implement metrics or 
> override {{PAssert}} in a way that verifies its execution.



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

Reply via email to