Brachi Packter created BEAM-13640:
-------------------------------------
Summary: Add MetadataDynamicCoder to support encode-decode for new
fields in Metatdata
Key: BEAM-13640
URL: https://issues.apache.org/jira/browse/BEAM-13640
Project: Beam
Issue Type: Improvement
Components: sdk-java-core
Reporter: Brachi Packter
This Issue is to solve similar problems to wha I had in
[BEAM-12883.|https://issues.apache.org/jira/browse/BEAM-12883?page=com.atlassian.jira.plugin.system.issuetabpanels%3Aall-tabpanel]
Currently there are 2 Coders for Metadata: default one:
org.apache.beam.sdk.io.fs.MetadataCoder and enhanced one
org.apache.beam.sdk.io.fs.MetadataCoderV2, the last can also decode-encode
lastModifiedMillis and it is done in a new coder in order to support backward
compatibility.
This will be hard to maintain, we will need to create a new coder for any new
field that will be added to Metadata.
So, as suggested in this [comment:
#15510|https://github.com/apache/beam/pull/15510#issuecomment-928390587], we
need to have some new generic coder : MetadataDynamicCoder.
MetadataDynamicCoder can decode/encode any new fields added to Metadata by
sending getter, setter and coder.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)