Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Fixed typo

...

If the client uses v0, the original KIP-714 behavior is used. The client sends the value 0 for the ClientInstanceId in order to 

After this KIP, the Apache Kafka Java client will send the ClientInstanceId  in the request header and also in the request body. If present in the request header, it must match the value in the request body, and that value will not be zero, or else the request will be rejected with error code INVALID_REQUEST.

It is still permitted to send the value zero for the ClientInstanceId  in the v0 request, which will cause the broker to create assign a ClientInstanceId  and send it back in the response. This is the original KIP-714 behavior and it is still supported for clients which do not use the ClientInstanceId  in the request header.

After this KIP, the Apache Kafka Java client will generate its own client instance ID and send it in the ClientInstanceId  in the request header. The value must not be zero, or else the request will be rejected with error code INVALID_REQUEST.

Code Block
{
  "apiKey": 71,
  "type": "request",
  "listeners": ["broker"],
  "name": "GetTelemetrySubscriptionsRequest",
  // Version 0 is the initial version. (KIP-714)
  //
  // Version 1 removes ClientInstanceId from the request and response. (KIP-1313)
  "validVersions": "0-1",
  "flexibleVersions": "0+",
  "fields": [
    {
      "name": "ClientInstanceId", "type": "uuid", "versions": "0", << Only v0 supports this
      "about": "Unique id for this client instance, must be set to 0 on the first request (v0 only)."
    }
  ]
}

...