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 {

Reply via email to