Program: 112081
Project: 112081
Buggy source:
@Test public void test() throws Exception {
  Schema schema=new Schema.Parser().parse(Resources.getResource("String_Node_Str").openStream());
  File tmp=File.createTempFile(getClass().getSimpleName(),"String_Node_Str");
  tmp.deleteOnExit();
  tmp.delete();
  Path file=new Path(tmp.getPath());
  AvroParquetWriter<GenericRecord> writer=new AvroParquetWriter<GenericRecord>(file,schema);
  GenericData.Record nestedRecord=new GenericRecordBuilder(schema.getField("String_Node_Str").schema()).set("String_Node_Str",1).build();
  GenericData.Record record=new GenericRecordBuilder(schema).set("String_Node_Str",null).set("String_Node_Str",true).set("String_Node_Str",1).set("String_Node_Str",2L).set("String_Node_Str",3.1f).set("String_Node_Str",4.1).set("String_Node_Str",ByteBuffer.wrap("String_Node_Str".getBytes(Charsets.UTF_8))).set("String_Node_Str","String_Node_Str").set("String_Node_Str",nestedRecord).set("String_Node_Str","String_Node_Str").set("String_Node_Str",new GenericData.Array<Integer>(Schema.createArray(Schema.create(Schema.Type.INT)),Arrays.asList(1,2))).set("String_Node_Str",ImmutableMap.of("String_Node_Str",1,"String_Node_Str",2)).build();
  writer.write(record);
  writer.close();
  AvroParquetReader<GenericRecord> reader=new AvroParquetReader<GenericRecord>(file);
  GenericRecord nextRecord=reader.read();
  assertNotNull(nextRecord);
  assertEquals(null,nextRecord.get("String_Node_Str"));
  assertEquals(true,nextRecord.get("String_Node_Str"));
  assertEquals(1,nextRecord.get("String_Node_Str"));
  assertEquals(2L,nextRecord.get("String_Node_Str"));
  assertEquals(3.1f,nextRecord.get("String_Node_Str"));
  assertEquals(4.1,nextRecord.get("String_Node_Str"));
  assertEquals(ByteBuffer.wrap("String_Node_Str".getBytes(Charsets.UTF_8)),nextRecord.get("String_Node_Str"));
  assertEquals("String_Node_Str",nextRecord.get("String_Node_Str"));
  assertEquals("String_Node_Str",nextRecord.get("String_Node_Str"));
  assertEquals(nestedRecord,nextRecord.get("String_Node_Str"));
  assertEquals(Arrays.asList(1,2),nextRecord.get("String_Node_Str"));
  assertEquals(ImmutableMap.of("String_Node_Str",1,"String_Node_Str",2),nextRecord.get("String_Node_Str"));
}

Fixed version (ground truth):
@Test public void test() throws Exception {
  Schema schema=new Schema.Parser().parse(Resources.getResource("String_Node_Str").openStream());
  File tmp=File.createTempFile(getClass().getSimpleName(),"String_Node_Str");
  tmp.deleteOnExit();
  tmp.delete();
  Path file=new Path(tmp.getPath());
  AvroParquetWriter<GenericRecord> writer=new AvroParquetWriter<GenericRecord>(file,schema);
  GenericData.Record nestedRecord=new GenericRecordBuilder(schema.getField("String_Node_Str").schema()).set("String_Node_Str",1).build();
  List<Integer> integerArray=Arrays.asList(1,2,3);
  GenericData.Array<Integer> genericIntegerArray=new GenericData.Array<Integer>(Schema.createArray(Schema.create(Schema.Type.INT)),integerArray);
  GenericData.Record record=new GenericRecordBuilder(schema).set("String_Node_Str",null).set("String_Node_Str",true).set("String_Node_Str",1).set("String_Node_Str",2L).set("String_Node_Str",3.1f).set("String_Node_Str",4.1).set("String_Node_Str",ByteBuffer.wrap("String_Node_Str".getBytes(Charsets.UTF_8))).set("String_Node_Str","String_Node_Str").set("String_Node_Str",nestedRecord).set("String_Node_Str","String_Node_Str").set("String_Node_Str",genericIntegerArray).set("String_Node_Str",genericIntegerArray).set("String_Node_Str",ImmutableMap.of("String_Node_Str",1,"String_Node_Str",2)).build();
  writer.write(record);
  writer.close();
  AvroParquetReader<GenericRecord> reader=new AvroParquetReader<GenericRecord>(file);
  GenericRecord nextRecord=reader.read();
  assertNotNull(nextRecord);
  assertEquals(null,nextRecord.get("String_Node_Str"));
  assertEquals(true,nextRecord.get("String_Node_Str"));
  assertEquals(1,nextRecord.get("String_Node_Str"));
  assertEquals(2L,nextRecord.get("String_Node_Str"));
  assertEquals(3.1f,nextRecord.get("String_Node_Str"));
  assertEquals(4.1,nextRecord.get("String_Node_Str"));
  assertEquals(ByteBuffer.wrap("String_Node_Str".getBytes(Charsets.UTF_8)),nextRecord.get("String_Node_Str"));
  assertEquals("String_Node_Str",nextRecord.get("String_Node_Str"));
  assertEquals("String_Node_Str",nextRecord.get("String_Node_Str"));
  assertEquals(nestedRecord,nextRecord.get("String_Node_Str"));
  assertEquals(integerArray,nextRecord.get("String_Node_Str"));
  assertEquals(integerArray,nextRecord.get("String_Node_Str"));
  assertEquals(ImmutableMap.of("String_Node_Str",1,"String_Node_Str",2),nextRecord.get("String_Node_Str"));
}