static UpdateRecord deserialize(CrcInputStream crcStream) throws IOException, MessageFormatException {
      DataInputStream dataStream = new DataInputStream(crcStream);
      short accountId = dataStream.readShort();
      short containerId = dataStream.readShort();
      long updateTimeInMs = dataStream.readLong();
      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(accountId, containerId, updateTimeInMs, new DeleteSubRecord());
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|         |               |               |               |             |
| version |   AccountId   |  ContainerId  |  UpdateTime   |     Crc     |
|(2 bytes)|    (2 byte2)  |   (2 bytes)   |   (8 bytes)   |  (8 bytes)  |
|         |               |               |               |             |
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 version       - The version of the update record

 AccountId     - AccountId that the blob belongs to

 ContainerId   - ContainerId that the blob belongs to

 UpdateTime    - Time of update in Ms

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