beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <>
Subject [jira] [Commented] (BEAM-156) Implement Quiescence Signalling in the InProcessPipelineRunner
Date Fri, 29 Jul 2016 00:36:20 GMT


ASF GitHub Bot commented on BEAM-156:

GitHub user tgroh opened a pull request:

    [BEAM-156] Use Quiescence to Drive the DirectRunner

    Be sure to do all of the following to help us incorporate your contribution
    quickly and easily:
     - [ ] Make sure the PR title is formatted like:
       `[BEAM-<Jira issue #>] Description of pull request`
     - [ ] Make sure tests pass via `mvn clean verify`. (Even better, enable
           Travis-CI on your fork and ensure the whole test matrix passes).
     - [ ] Replace `<Jira issue #>` in the title with the actual Jira issue
           number, if there is one.
     - [ ] If this contribution is large, please file an Apache
           [Individual Contributor License Agreement](
    The Executor should add work whenever it becomes Quiescent.
    Track the amount of outstanding work in the executor, and
    modify the state appropriately whenever work is scheduled or completes.

You can merge this pull request into a Git repository by running:

    $ git pull quiescence_driver

Alternatively you can review and apply these changes as the patch at:

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #754
commit b4afedad05291585205c81e813c7bbb7f0e5c167
Author: Thomas Groh <>
Date:   2016-07-22T20:47:19Z

    Apply ExecutorUpdates in two Phases
    This removes the need for an explicit break by ensuring that work added
    by the monitor will not complete and add more work for the monitor to

commit 3c4a0d39b6655228cfb0d6870e69f229a85537ac
Author: Thomas Groh <>
Date:   2016-07-23T01:01:41Z

    Add handleEmpty to CompletionCallback
    This is invoked when a Transform Executor has no work to do. Usually
    this is due to reinvocation of a Source.

commit 292276cfd4e56bfb9a0278e2717d5eb49e304e3e
Author: Thomas Groh <>
Date:   2016-07-26T16:53:22Z

    Add ProducedOutput method to TransformResult
    This can communicate that a PTransform that produced no outputs still
    should cause pending work to be evaluated. PCollectionViews modifiy the
    state of the evaluator and can cause formerly blocked PTransforms to be
    able to progress.

commit 0397f9f67ee1af8866b72019f0b5cf97c4e6b62a
Author: Thomas Groh <>
Date:   2016-07-22T20:47:43Z

    Use the State of the Executor to drive progress
    Add the concept of Quiescence to ExecutorServiceParallelExecutor.
    If the executor is Quiescent, it should interrogate root nodes for
    additional work. If not, runs of the monitor should update the state as


> Implement Quiescence Signalling in the InProcessPipelineRunner
> --------------------------------------------------------------
>                 Key: BEAM-156
>                 URL:
>             Project: Beam
>          Issue Type: Improvement
>          Components: sdk-java-core
>            Reporter: Thomas Groh
>            Assignee: Thomas Groh
> A pipeline is quiescent when the following two properties hold:
>   There are no triggers that can fire, given the current processing time and watermark
>   All pending elements cannot make progress until a side input produces additional output
> This is approximately equivalent to: If no more input is received, the pipeline will
not perform any additional processing absent advances in processing time or event time
> See also:

This message was sent by Atlassian JIRA

View raw message