Github user mattyb149 commented on a diff in the pull request: https://github.com/apache/nifi/pull/2207#discussion_r145169184 --- Diff: nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-avro-record-utils/src/test/java/org/apache/nifi/avro/TestAvroTypeUtil.java --- @@ -239,4 +243,20 @@ public void testComplicatedRecursiveSchema() { Assert.assertEquals(recordASchema, ((RecordDataType)recordBParentField.get().getDataType()).getChildSchema()); } + @Test + public void testMapWithNullSchema() throws IOException { + + Schema recursiveSchema = new Schema.Parser().parse(getClass().getResourceAsStream("schema.json")); + + // Make sure the following doesn't throw an exception + RecordSchema recordASchema = AvroTypeUtil.createSchema(recursiveSchema.getTypes().get(0)); + + // check the fix with the proper file + try(DataFileStream<GenericRecord> r = new DataFileStream<>(getClass().getResourceAsStream("data.avro"), --- End diff -- Can you explain more about what's going on here, including what is in the data.avro file? When I run avro-tools tojson on it, I get the following: ``` java -jar avro-tools-1.8.1.jar tojson datasets/data.avro {"a.A":{"o":{"a.O":{"hash":{"map":{}}}}}} ``` Perhaps it would be good to have a test file that has a record with a non-null value for hash, as well as a record with a null value for hash?
---