@Override
  public void readFields(DataInput in) throws IOException {
    Schema schema = AvroSerdeUtils.getSchemaFor(in.readUTF());
    fileSchema = AvroSerdeUtils.getSchemaFor(in.readUTF());
    recordReaderID = UID.read(in);
    record = new GenericData.Record(schema);
    binaryDecoder = DecoderFactory.defaultFactory().createBinaryDecoder((InputStream) in, binaryDecoder);
    GenericDatumReader<GenericRecord> gdr = new GenericDatumReader<GenericRecord>(schema);
    record = gdr.read(record, binaryDecoder);
  }
Unique Id determine which record reader created this record
serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroGenericRecordWritable.java