public void readFields(DataInput in) throws IOException {
    int len = in.readInt();
    if (len > bytes.length) {
      bytes = new byte[len];
    }
    start = 0;
    length = len;
    in.readFully(bytes, start, length);
  }
Always reuse the bytes array if length of bytes array is equal or greater
to the current record, otherwise create a new one. readFields will corrupt
the array. Please use set() whenever possible.

@see #set(byte[], int, int)
serde/src/java/org/apache/hadoop/hive/serde2/columnar/BytesRefWritable.java