You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by GitBox <gi...@apache.org> on 2021/02/24 06:16:11 UTC

[GitHub] [beam] kennknowles commented on a change in pull request #14060: Make Python GroupByKey convert AfterProcessingTime to AfterSynchronizedProcessingTime

kennknowles commented on a change in pull request #14060:
URL: https://github.com/apache/beam/pull/14060#discussion_r581658489



##########
File path: sdks/python/apache_beam/transforms/trigger.py
##########
@@ -369,6 +370,48 @@ def has_ontime_pane(self):
     return False
 
 
+class AfterSynchronizedProcessingTime(TriggerFn):
+  """Fire exactly once after all worker clocks catch up the first element that arrives
+
+  AfterSynchronizedProcessingTime is experimental. No backwards compatibility guarantees.
+  """
+  def __repr__(self):
+    return 'AfterSynchronizedProcessingTime()'
+
+  def on_element(self, element, window, context):
+    # TODO: sort out whether this should be a NOOP or how to get the clock to be
+    # passed in
+    #context.set_timer(
+    #    '', TimeDomain.DEPENDENT_REAL_TIME, context.get_current_time())

Review comment:
       The `clock` is `None` in the context. Not sure where in the fn api runner that gets set. Not sure if I should just make this a noop or behave like Always trigger anyhow. But for my first draft I just went with what it should actually do, and that is crashy.

##########
File path: sdks/python/apache_beam/transforms/core.py
##########
@@ -2364,6 +2364,22 @@ def from_runner_api_parameter(
   def runner_api_requires_keyed_input(self):
     return True
 
+  def get_windowing(self, inputs):

Review comment:
       Do I understand right that the idea is for it all to be lazily propagated?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org