feat(kvrpcpb): add lock upgrade conflict error#1495
Conversation
Add the typed LockUpgradeConflict message to kvrpcpb and expose it on KeyError as field 13. Regenerate the corresponding Go bindings and update proto.lock so downstream repos can depend on a stable machine-readable upgrade-conflict protocol shape.
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
|
What problem does this PR solve?
Cloud Storage Engine needs to return typed errors when a shared-lock upgrade request conflicts with an existing in-flight upgrader. Today the protocol has no dedicated
KeyErrorvariant for this case, so CSE cannot distinguish duplicate in-flight upgrade attempts from second-upgrader conflicts at the API boundary.Related CSE work:
Related TiDB work:
What is changed and how it works?
LockUpgradeConflicttokvrpcpb.KeyError.LockUpgradeConflict.Reasonwith:DuplicateInFlightSecondUpgraderkvrpcpb.scripts/proto.lock.This is an additive protobuf change and preserves wire compatibility for existing clients.
Check List
scripts/proto.lock.make go.make rust.