private static long getPutRecordSize(BlobProperties properties, BlobId blobId, ByteBuffer blobEncryptionKey,
      ByteBuffer usermetadata, byte[] data) {
    try {
      return MessageFormatRecord.getHeaderSizeForVersion(MessageFormatRecord.getCurrentMessageHeaderVersion())
          + blobId.sizeInBytes() + (blobEncryptionKey != null
          ? MessageFormatRecord.BlobEncryptionKey_Format_V1.getBlobEncryptionKeyRecordSize(blobEncryptionKey) : 0)
          + MessageFormatRecord.BlobProperties_Format_V1.getBlobPropertiesRecordSize(properties)
          + MessageFormatRecord.UserMetadata_Format_V1.getUserMetadataSize(usermetadata)
          + MessageFormatRecord.Blob_Format_V3.getBlobRecordSize(data.length);
    } catch (Exception e) {
      fail("Unexpected exception" + e);
    }
    return 0;
  }
Fetches the put record size in log
@param properties {@link BlobProperties} associated with the put
@param blobId {@link BlobId} associated with the put
@param usermetadata Usermetadata associated with the put
@param data actual data associated with the put
@return the size of the put record in the log
ambry-test-utils/src/main/java/com/github/ambry/server/ServerTestUtil.java