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


Reply via email to