@Override
    public int getUpdateRecordRelativeOffset() {
      return buffer.getInt(Update_Relative_Offset_Field_Offset_In_Bytes);
    }
- - - - - - - - - - -  - - - - - - - - - - - - - -- - -- - - - - - - - - - - - - -  - - - - - - - - - - - - - - - - - - - -
|         |           |              |                 |               |           |               |           |           |
| version |  life     | payload size | Blob Encryption | Blob Property | Update    | User Metadata | Blob      | Crc       |
|(2 bytes)|  version  |   (8 bytes)  | Key Relative    | Relative      | Relative  | Relative      | Relative  | (8 bytes) |
|         | (2 bytes) |              | Offset          | Offset        | Offset    | Offset        | Offset    |           |
|         |           |              | (4 bytes)       | (4 bytes)     | (4 bytes) | (4 bytes)     | (4 bytes) |           |
|         |           |              |                 |               |           |               |           |           |
 - - - - - - - - - - - - - - - - - - - - - - - - -- - -- - - - - - - - - - - - - -  - - - - - - - - - - - - - - - - - - - -

 version         - The version of the message header

 life version    - The life version of the message header

 payload size    - The size of the message payload.
                   Blob Encryption Key Record Size (if present) + (Blob prop record size or update record size) +
                   user metadata size + blob size

 Blob Encryption - The offset at which the blob encryption key record is located relative to this message.
 Key relative      Non-existence of blob key record is indicated by -1. Blob Keys are optionally present for Put
 offset            records. Blob Keys will be absent for update records.

 blob property   - The offset at which the blob property record is located relative to this message. Only one of
 relative offset   blob property/update relative offset field can exist. Non existence is indicated by -1

 update          - The offset at which the update record is located relative to this message. Only one of blob
 relative offset   property/update relative offset field can exist. Non existence is indicated by -1

 user metadata   - The offset at which the user metadata record is located relative to this message. This exist
 relative offset   only when blob property record and blob record exist

 blob metadata   - The offset at which the blob record is located relative to this message. This exist only when
 relative offset   blob property record and user metadata record exist

 crc             - The crc of the message header
ambry-messageformat/src/main/java/com/github/ambry/messageformat/MessageFormatRecord.java