beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Halperin (JIRA)" <>
Subject [jira] [Commented] (BEAM-436) DirectRunner RunnableOnService tempLocation configuration insufficient
Date Mon, 03 Apr 2017 17:14:41 GMT


Daniel Halperin commented on BEAM-436:

[~tgroh] is there an update here?

Should this block stable release?

> DirectRunner RunnableOnService tempLocation configuration insufficient
> ----------------------------------------------------------------------
>                 Key: BEAM-436
>                 URL:
>             Project: Beam
>          Issue Type: Bug
>          Components: runner-direct
>            Reporter: Scott Wegner
>            Assignee: Thomas Groh
> The way we specify temp storage locations for RunnableOnService tests is not sufficient,
specifically for DirectRunner execution. Right now, RunnableOnService tests are run for DirectRunner
and DataflowRunner, who set their temp locations differently:
> * DirectRunner doesn't specify a temp location directly, but test classes will use a
JUnit @Rule TemporaryDirectory. Individual tests set it as necessary for tempLocation, and
set a fake gs:// path for individual GCP IO tests.
> * DataflowRunner tests pass an actual GCS path as tempRoot, and TestDataflowRunner will
initialize stagingLocation to this path.
> This setup makes it difficult to write RunnableOnService tests which pass for both runners.
We should separate temp location setup out of individual test classes so that RunnableOnService
tests "just work" on any runner.
> One solution would be to add logic inside TestPipeline#testingPipelineOptions:
> # If --tempRoot is specified, use it to set tempLocation and stagingLocation. Otherwise,
use a JUnit TemporaryDirectory to set it
> # If tempLocation is a GCS path, use it to set stagingLocation. Otherwise, use a fake
gcs path (i.e. gs://foo)

This message was sent by Atlassian JIRA

View raw message