robertwb commented on a change in pull request #12426: URL: https://github.com/apache/beam/pull/12426#discussion_r464554560
########## File path: sdks/python/apache_beam/coders/coder_impl.py ########## @@ -530,6 +530,88 @@ def estimate_size(self, unused_value, nested=False): return 1 +class MapCoderImpl(StreamCoderImpl): + """For internal use only; no backwards-compatibility guarantees. + + A coder for typing.Mapping objects.""" + def __init__( + self, + key_coder, # type: CoderImpl + value_coder # type: CoderImpl + ): + self._key_coder = key_coder + self._value_coder = value_coder + + def encode_to_stream(self, value, out, nested): + size = len(value) + out.write_bigendian_int32(size) Review comment: This is unfortunate. We can't change MapCoder because that would be backwards incompatible (and users might have encoded Maps stored in states or elsewhere), so I suppose we'll have to stick with this limitation. ---------------------------------------------------------------- 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