dawidwys commented on a change in pull request #13763: URL: https://github.com/apache/flink/pull/13763#discussion_r512596226
########## File path: flink-formats/flink-avro/src/main/java/org/apache/flink/formats/avro/typeutils/AvroSchemaConverter.java ########## @@ -297,17 +299,22 @@ private static DataType convertToDataType(Schema schema) { * @return Avro's {@link Schema} matching this logical type. */ public static Schema convertToSchema(LogicalType logicalType) { - return convertToSchema(logicalType, "record"); + return convertToSchema(logicalType, "record", true); } /** * Converts Flink SQL {@link LogicalType} (can be nested) into an Avro schema. * * @param logicalType logical type * @param rowName the record name + * @param top whether it is parsing the root record, + * if it is, the logical type nullability would be ignored * @return Avro's {@link Schema} matching this logical type. */ - public static Schema convertToSchema(LogicalType logicalType, String rowName) { + public static Schema convertToSchema( + LogicalType logicalType, + String rowName, + boolean top) { Review comment: Is it necessary? Shouldn't the `top` be handled in the planner and just passed with a correct setting in the `logicalType`? I think it is a bit too deep to fix it here. ########## File path: flink-formats/flink-avro/src/test/java/org/apache/flink/formats/avro/AvroRowDataDeSerializationSchemaTest.java ########## @@ -181,10 +181,11 @@ public void testSpecificType() throws Exception { encoder.flush(); byte[] input = byteArrayOutputStream.toByteArray(); + // SE/DE SpecificRecord using the GenericRecord way only supports non-nullable data type. Review comment: That comment is misleading. There is no limitation in the actual handling of nulls with SpecificRecord/GenericRecord. It's just that the `LogicalTimeRecord` has those fields declared as `notNull`. The previous `dataType` was just wrong and did not describe the `LogicalTimeRecord` correctly. ---------------------------------------------------------------- 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: us...@infra.apache.org