...
Code Block | ||
---|---|---|
| ||
{ "type": "header", "name": "RequestHeader", // Version 0 of the RequestHeader is only used by v0 of ControlledShutdownRequest. // // Version 1 is the first version with ClientId. // // Version 2 is the first flexible version. "validVersions": "0-2", "flexibleVersions": "2+", "fields": [ { "name": "RequestApiKey", "type": "int16", "versions": "0+", "about": "The API key of this request." }, { "name": "RequestApiVersion", "type": "int16", "versions": "0+", "about": "The API version of this request." }, { "name": "CorrelationId", "type": "int32", "versions": "0+", "about": "The correlation ID of this request." }, ... // ----- new optional field ---- { "name": "PrincipalName", "type": "string", "tag": 0, "taggedVersions": "2+", "ignorable": true, "about": "Optional value of the principal name when the request is redirected by a broker." }, // ----- end new field --------- ] } |
...
New Metrics
To effectively monitor the request forwarding status, we would add two metrics: "request-forwarding-to-controller-rate" and "request-fowarding-to-controller-count" to visualize the forwarding progress.
In the long term after bridge release, we need to perform some incompatible changes to the Raft Quorum. To monitor the old client connections to better capture the timing for a major version bump, we shall also expose a metric called `old-client-connections-count` beyond KIP-511. This metric will record those clients whose version is older than the first KIP-511 supported client, as they have no self identity to propose.
Compatibility, Deprecation, and Migration Plan
...