private Boolean extractWriterZoneConversionLegacy(JobConf job, FileSplit split,
      GenericDatumReader<GenericRecord> gdr) {
    assert job != null;
    assert split != null;
    assert gdr != null;
    if (split.getPath() == null) {
      return null;
    }
    try (DataFileReader<GenericRecord> dataFileReader = new DataFileReader<GenericRecord>(
        new FsInput(split.getPath(), job), gdr)) {
      byte[] meta = dataFileReader.getMeta(AvroSerDe.WRITER_ZONE_CONVERSION_LEGACY);
      if (meta != null) {
        String v = new String(meta, StandardCharsets.UTF_8);
        if (v.equalsIgnoreCase("true")) {
          return Boolean.TRUE;
        } else if (v.equalsIgnoreCase("false")) {
          return Boolean.FALSE;
        } else {
          LOG.warn("Invalid " + AvroSerDe.WRITER_ZONE_CONVERSION_LEGACY + " metadata: " + v);
        }
      }
    } catch (IOException exception) {
      LOG.warn("Problem extracting " + AvroSerDe.WRITER_ZONE_CONVERSION_LEGACY + " metadata.", exception);
    }
    return null;
  }
Attempt to retrieve the reader schema.  We have a couple opportunities
to provide this, depending on whether or not we're just selecting data
or running with a MR job.
@return  Reader schema for the Avro object, or null if it has not been provided.
@throws AvroSerdeException
ql/src/java/org/apache/hadoop/hive/ql/io/avro/AvroGenericRecordReader.java