From ad53cc1eae5c83122a05f1188196884e26b1534c Mon Sep 17 00:00:00 2001 From: Krisso Date: Tue, 30 Apr 2024 00:25:23 +0200 Subject: [PATCH] Populate methods now always have 'customization' argument because deserialize-method(s) of nested records may generate another populate methods that require 'customization' (at least for compilation). This commits contains the fix. --- .../avro/fastserde/FastSpecificDeserializerGeneratorTest.java | 2 -- .../linkedin/avro/fastserde/FastDeserializerGenerator.java | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/fastserde/avro-fastserde-tests-common/src/test/java/com/linkedin/avro/fastserde/FastSpecificDeserializerGeneratorTest.java b/fastserde/avro-fastserde-tests-common/src/test/java/com/linkedin/avro/fastserde/FastSpecificDeserializerGeneratorTest.java index fbe3eeb9..26baa878 100644 --- a/fastserde/avro-fastserde-tests-common/src/test/java/com/linkedin/avro/fastserde/FastSpecificDeserializerGeneratorTest.java +++ b/fastserde/avro-fastserde-tests-common/src/test/java/com/linkedin/avro/fastserde/FastSpecificDeserializerGeneratorTest.java @@ -48,7 +48,6 @@ import org.testng.Assert; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; -import org.testng.annotations.Ignore; import org.testng.annotations.Test; import org.testng.collections.Lists; import org.testng.internal.collections.Pair; @@ -882,7 +881,6 @@ void deserializeNullableFieldsPreviouslySerializedAsNotNull(boolean useFastSeria Assert.assertEquals(outerRecord2.toString(), outerRecord1.toString()); } - @Ignore @Test(groups = {"deserializationTest"}) void deserializeWithSchemaMissingDeeplyNestedRecord() throws IOException { // duplicates prepare() just in case - .avsc files used here assume FIELDS_PER_POPULATION_METHOD is 2 diff --git a/fastserde/avro-fastserde/src/main/java/com/linkedin/avro/fastserde/FastDeserializerGenerator.java b/fastserde/avro-fastserde/src/main/java/com/linkedin/avro/fastserde/FastDeserializerGenerator.java index 941add56..3239497d 100644 --- a/fastserde/avro-fastserde/src/main/java/com/linkedin/avro/fastserde/FastDeserializerGenerator.java +++ b/fastserde/avro-fastserde/src/main/java/com/linkedin/avro/fastserde/FastDeserializerGenerator.java @@ -370,16 +370,16 @@ private void processRecord(JVar recordSchemaVar, String recordName, final Schema popMethod._throws(IOException.class); if (recordAction.getShouldRead()) { popMethod.param(recordClass, recordName); - popMethod.param(codeModel.ref(DatumReaderCustomization.class), VAR_NAME_FOR_CUSTOMIZATION); } + popMethod.param(codeModel.ref(DatumReaderCustomization.class), VAR_NAME_FOR_CUSTOMIZATION); popMethod.param(Decoder.class, DECODER); popMethodBody = popMethod.body(); JInvocation invocation = methodBody.invoke(popMethod); if (recordAction.getShouldRead()) { invocation.arg(JExpr.direct(recordName)); - invocation.arg(customizationSupplier.get()); } + invocation.arg(customizationSupplier.get()); invocation.arg(JExpr.direct(DECODER)); } FieldAction action = seekFieldAction(recordAction.getShouldRead(), field, actionIterator);