boyuanzz commented on a change in pull request #12016: URL: https://github.com/apache/beam/pull/12016#discussion_r449735426
########## File path: sdks/python/apache_beam/runners/worker/bundle_processor.py ########## @@ -1079,6 +1079,13 @@ def construct_bundle_application(self, ): # type: (...) -> beam_fn_api_pb2.BundleApplication transform_id, main_input_tag, main_input_coder, outputs = op.input_info + # The main_input_coder should be the main_input_coder of + # SdfTruncateSizedRestrictions if SdfProcessSizedElements is following + # SdfTruncateSizedRestrictions. + if (isinstance(op, operations.SdfProcessSizedElements) and Review comment: The problem here is the restriction coder. At least for `FnApiRunner`, when a `PCollection` crosses the wire, it seems like any non-standard coder will be length-prefixed. Here, the input coder of `SdfTruncateSizedRestrictions ` is length-prefixed, but `SdfProcessSizedElements ` is not. On the `FnApiRunner` side, it decodes the element-restriction pair with the length-prefixed coder. ---------------------------------------------------------------- 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: us...@infra.apache.org