beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stas Levin (JIRA)" <>
Subject [jira] [Commented] (BEAM-1712) doesn't actually waitUntilFinish
Date Tue, 14 Mar 2017 06:20:41 GMT


Stas Levin commented on BEAM-1712:

[A related discussion|]
circulated on the dev-list some months ago.

Basically, I believe there isn't a consensus at the moment, as to whose responsibility it
is to call {{waitUntilFinish}}, if at all.

I believe this issue is related to [BEAM-849|]
and while I'm not sure it's a pre-requisite, it sounds like reaching a point where we're happy
with the {{PipelineResult}} API would involve figuring out if and when {{waitUntilFinish}}
is to be called by clients (including {{TestPipeline}} and the likes). 

The [recent thread|]
by [~jkff] brings up some good points, and hopefully can be used to make progress here.

> doesn't actually waitUntilFinish
> -------------------------------------------------
>                 Key: BEAM-1712
>                 URL:
>             Project: Beam
>          Issue Type: Bug
>          Components: runner-flink, sdk-java-core, testing
>            Reporter: Eugene Kirpichov
>            Assignee: Stas Levin
> it calls waitUntilFinish() only if
> 1) run wasn't called
> 2) enableAutoRunIfMissing is true.
> However in practice both of these are false.
> 1) run() is, in most tests, called. So effectively if you call .run() at all, then this
thing doesn't call waitUntilFinish().
> 2) enableAutoRunIfMissing() is set to true only via TestPipeline.enableAutoRunIfMissing(),
which is called only from its own unit test.
> This means that, for all tests that use TestPipeline - if the test waits until finish,
it's only because of the grace of the particular runner. Which is like really bad.
> We're lucky because in practice TestDataflowRunner, TestApexRunner, TestSparkRunner in
run() call themselves waitUntilFinish().
> However, TestFlinkRunner doesn't - i.e. there currently might be tests that actually
fail in Flink runner, undetected.
> The proper fix to this is to fix TestPipeline to always waitUntilFinish().
> Currently testing a quick-fix in to make sure
Flink is safe.

This message was sent by Atlassian JIRA

View raw message