From commits-return-14104-archive-asf-public=cust-asf.ponee.io@hudi.apache.org Tue Mar 24 09:00:07 2020 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id D7D4C18065C for ; Tue, 24 Mar 2020 10:00:06 +0100 (CET) Received: (qmail 98138 invoked by uid 500); 24 Mar 2020 09:00:06 -0000 Mailing-List: contact commits-help@hudi.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hudi.apache.org Delivered-To: mailing list commits@hudi.apache.org Received: (qmail 98129 invoked by uid 99); 24 Mar 2020 09:00:06 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 24 Mar 2020 09:00:06 +0000 From: GitBox To: commits@hudi.apache.org Subject: [GitHub] [incubator-hudi] pratyakshsharma commented on a change in pull request #1427: [HUDI-727]: Copy default values of fields if not present when rewriting incoming record with new schema Message-ID: <158504040623.19443.9763647811401164763.gitbox@gitbox.apache.org> References: In-Reply-To: Date: Tue, 24 Mar 2020 09:00:06 -0000 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit pratyakshsharma commented on a change in pull request #1427: [HUDI-727]: Copy default values of fields if not present when rewriting incoming record with new schema URL: https://github.com/apache/incubator-hudi/pull/1427#discussion_r396992378 ########## File path: hudi-common/src/test/java/org/apache/hudi/common/util/TestHoodieAvroUtils.java ########## @@ -57,4 +60,16 @@ public void testPropsPresent() { } Assert.assertTrue("column pii_col doesn't show up", piiPresent); } + + @Test + public void testDefaultValue() { + GenericRecord rec = new GenericData.Record(new Schema.Parser().parse(EXAMPLE_SCHEMA)); + rec.put("_row_key", "key1"); + rec.put("non_pii_col", "val1"); + rec.put("pii_col", "val2"); + rec.put("timestamp", 3.5); Review comment: No its not that the original record has default values as null. Its just while getting the values from the record, default values are not considered. Please have a look at this function from avro-1.8.2 library - @Override public Object get(String key) { Field field = schema.getField(key); if (field == null) return null; return values[field.pos()]; } Ideally the above function should get field.defaultVal() in case values[field.pos()] is null, but that is not the case. ---------------------------------------------------------------- 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: users@infra.apache.org With regards, Apache Git Services