lukecwik commented on a change in pull request #15634: URL: https://github.com/apache/beam/pull/15634#discussion_r719864996
########## File path: sdks/python/apache_beam/runners/worker/operations.py ########## @@ -710,13 +710,12 @@ def start(self): def process(self, o): # type: (WindowedValue) -> None with self.scoped_process_state: - delayed_application = self.dofn_runner.process(o) - if delayed_application: + delayed_applications = self.dofn_runner.process(o) + if delayed_applications: assert self.execution_context is not None - # TODO(BEAM-77746): there's disagreement between subclasses - # of DoFnRunner over the return type annotations of process(). - self.execution_context.delayed_applications.append( - (self, delayed_application)) # type: ignore[arg-type] + for delayed_application in delayed_applications: Review comment: I would have expected something that is being returned here would break splitting since we would be returning appending a `Tuple[operations.DoOperation, Iterable[common.SplitResultResidual]]` instead of `Tuple[operations.DoOperation, common.SplitResultResidual]`. Maybe we are unpacking the iterable somewhere inexplicably. We have several SDF based validates runner tests, would be worthwhile to see what they say for Dataflow. -- 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. To unsubscribe, e-mail: github-unsubscr...@beam.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org