static UpdateRecord deserialize(CrcInputStream crcStream) throws IOException, MessageFormatException {
      DataInputStream dataStream = new DataInputStream(crcStream);
      boolean isDeleted = dataStream.readByte() == 1;
      long actualCRC = crcStream.getValue();
      long expectedCRC = dataStream.readLong();
      if (actualCRC != expectedCRC) {
        throw new MessageFormatException(
            "update record data is corrupt. Expected CRC: " + expectedCRC + ", Actual CRC: " + actualCRC,
            MessageFormatErrorCodes.DataCorrupt);
      }
      return new UpdateRecord(UNKNOWN_ACCOUNT_ID, UNKNOWN_CONTAINER_ID, Utils.Infinite_Time, new DeleteSubRecord());
    }
- - - - - - - - - - - - - - - - - - -
|         |               |            |
| version |   delete byte |    Crc     |
|(2 bytes)|    (1 byte)   |  (8 bytes) |
|         |               |            |
 - - - - - - - - - - - - - - - - - - -
 version         - The version of the update record

 delete byte     - Takes value 0 or 1. If it is set to 1, it signifies that the blob is deleted. The field
                   is required to be able to support undelete in the future if required.

 crc             - The crc of the update record
ambry-messageformat/src/main/java/com/github/ambry/messageformat/MessageFormatRecord.java