Repository: beam Updated Branches: refs/heads/master 3fcc82081 -> 154c54305
Add closing behavior to Runner API proto Project: http://git-wip-us.apache.org/repos/asf/beam/repo Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/aac38d60 Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/aac38d60 Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/aac38d60 Branch: refs/heads/master Commit: aac38d60c0f76db67095522ea013403642179d9d Parents: 380b75e Author: Kenneth Knowles <k...@google.com> Authored: Thu Feb 16 20:26:39 2017 -0800 Committer: Kenneth Knowles <k...@google.com> Committed: Tue Feb 21 11:50:52 2017 -0800 ---------------------------------------------------------------------- .../src/main/proto/beam_runner_api.proto | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/beam/blob/aac38d60/sdks/common/runner-api/src/main/proto/beam_runner_api.proto ---------------------------------------------------------------------- diff --git a/sdks/common/runner-api/src/main/proto/beam_runner_api.proto b/sdks/common/runner-api/src/main/proto/beam_runner_api.proto index 2919580..ce089f5 100644 --- a/sdks/common/runner-api/src/main/proto/beam_runner_api.proto +++ b/sdks/common/runner-api/src/main/proto/beam_runner_api.proto @@ -392,9 +392,12 @@ message WindowingStrategy { // windowing strategy. OutputTime output_time = 6; + // (Required) Indicate when output should be omitted upon window expiration. + ClosingBehavior closing_behavior = 7; + // (Required) The duration, in milliseconds, beyond the end of a window at // which the window becomes droppable. - int64 allowed_lateness = 7; + int64 allowed_lateness = 8; } // Whether or not a PCollection's WindowFn is non-merging, merging, or @@ -428,6 +431,18 @@ enum AccumulationMode { ACCUMULATING = 1; } +// Controls whether or not an aggregating transform should output data +// when a window expires. +enum ClosingBehavior { + + // Emit output when a window expires, whether or not there has been + // any new data since the last output. + EMIT_ALWAYS = 0; + + // Only emit output when new data has arrives since the last output + EMIT_IF_NONEMPTY = 1; +} + // When a number of windowed, timestamped inputs are aggregated, the timestamp // for the resulting output. enum OutputTime {