databird07 commented on PR #20187: URL: https://github.com/apache/hudi/pull/20187#issuecomment-5955687991
@vinothchandar good catch, and sorry I didn't answer before merge. You're right: under `SpecificData` parquet-avro materializes `java.util.ArrayList` for ARRAY fields, and under `GenericData` it materializes `GenericData.Array`. I confirmed this locally on both the compatibility and non-compatibility read paths. I checked the consumers on these read paths. `HoodieAvroUtils`, `ConvertingGenericData`, `HoodieRealtimeRecordReaderUtils` and the Spark `AvroDeserializer` copies all go through `Collection`/`List`, and there's no `instanceof ArrayList`, `(ArrayList)` cast, or `asInstanceOf[ArrayList]` in main code. So nothing in Hudi observes the change. I opened #20190 to add an array field to `TestAvroStringableClassResolution` so the `List` contract is covered by a test. -- 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. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
