Pratyaksh Sharma created HUDI-727:
-------------------------------------

             Summary: Copy default values of fields if not present when 
rewriting incoming record with new schema
                 Key: HUDI-727
                 URL: https://issues.apache.org/jira/browse/HUDI-727
             Project: Apache Hudi (incubating)
          Issue Type: Improvement
          Components: Utilities
            Reporter: Pratyaksh Sharma
            Assignee: Pratyaksh Sharma
             Fix For: 0.6.0


Currently we recommend users to evolve schema in backwards compatible way. When 
one is trying to evolve schema in backwards compatible way, one of the most 
significant things to do is to define default value for newly added columns so 
that records published with previous schema also can be consumed properly. 
 
However just before actually writing record to Hudi dataset, we try to rewrite 
record with new Avro schema which has Hudi metadata columns [1]. In this 
function, we are only trying to get the values from record without considering 
field's default value. As a result, schema validation fails. 
IMO, this piece of code should take into account default value as well in case 
field's actual value is null. 
 
[1] 
[https://github.com/apache/incubator-hudi/blob/078d4825d909b2c469398f31c97d2290687321a8/hudi-common/src/main/java/org/apache/hudi/common/util/HoodieAvroUtils.java#L205].



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to