storage,util/hlc: convert hlc.Timestamp to proto3 #18910
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Convert hlc.Timestamp to proto3 so that a logical component of 0 will
not be encoded on the wire. This is complicated by needing to leave the
"below raft" encoding for MVCCMetadata unchanged. Added LegacyTimestamp
to accomplish this which is convertible to Timestamp but has the legacy
encoding. Changed the MVCCMetadata timestamp fields to use
LegacyTimestamp. Note that the timestamp in MVCCMetadata.Txn (type
TxnMeta) does not need to change because we never encoding an
MVCCMetadata with a non-nil Txn field below raft. Extended the
TrackRaftProtos mechanism to verify that TxnMeta is never encoded blow
raft.