Summary:
This diff introduces an RPC request checksum in the header to detect corruptions that may occur on lower layers (e.g., transport or hardware).
Additionally, the following minor improvements were made:
1. Added a sanity check to `DocWriteBatch::RollbackReservedWriteId`.
2. Added support for a verification function in lightweight protobuf. This function is called after deserialization to validate the content, enabling better error context.
3. Added an option to enable parsing dump for lightweight protobuf.
4. Improved logging for cases where a replica receives an unknown operation type.
**Upgrade/Rollback safety:**
This diff adds CRC field to request header.
When old version sends request to a new version, this field would not be sent, so receiver would not perform CRC check.
When new version sends request to an old version, then this field is just ignored.
Jira: DB-7593
Test Plan:
Jenkins
Tested using test_cdc_tablet_splitting_tweaked stress test with packed rows disabled, which were causing various random failures and crashes before this change.
Reviewers: rthallam, mlillibridge
Reviewed By: mlillibridge
Subscribers: mlillibridge, ybase, yql
Tags: #jenkins-ready
Differential Revision: https://phorge.dev.yugabyte.com/D46282