Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

To be more strict of protecting controller information, the "ControllerId" field in new MetadataResponse shall be set to a random broker for v0-v9 request, and gets deprecated on v10. Note that only existing clients are using Metadata RPC to get controller info, so it should be safe to deprecate and we would explicitly mention that on the NetworkClient meta comments.

Binding with IBP (inter.broker.protocol)

To make sure the admin client request version could be properly processed by both the forwarding broker and the controller broker, we need to treat the zk mutation RPCs as inter-broker communication, which means we need to guard those protocol bump behind IBP. Starting from the first version introducing redirection, all affected RPCs have to bump IBP when they are bumping their protocol again, so that broker could return accurate version range inside ApiVersionResponse.

New Envelope RPC

We are also going to add a new RPC type to wrap the original request during the forwarding. We will make corresponding changes to `ApiMessageTypeGenerator` class to recognize the new field `Header` and `ApiMessage` during the auto generation. And for authentication and audit logging purpose, we proposed to add the following fields:

...