Versions Compared

Key

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

...

  • deleteConsumerGroups()
  • describeConsumerGroups()

This also affects the new API proposed in  KIP-709: Extend OffsetFetch requests to accept multiple group ids.

These APIs take a collection of groups as input. Being able to find coordinators in batches would allow to use a single find coordinator request to resolve them all instead of 1 request per group as of today.

...

Bump FindCoordinatorsRequest version to 4 and include a new field "CoordinatorKeysKeys". The existing "Key" field will be limited to versions less than 4. As we don't have use cases for finding coordinators for both groups and transactions at the same time, the "KeyType" field is kept and specifies the request type for all keys in "CoordinatorKeysKeys".

Code Block
languagejs
{
  "apiKey": 10,
  "type": "request",
  "name": "FindCoordinatorsRequest",
  // Version 1 adds KeyType.
  //
  // Version 2 is the same as version 1.
  //
  // Version 3 is the first flexible version.
  //
  // Version 4 adds support for batching via CoordinatorKeysKeys
  "validVersions": "0-4",
  "flexibleVersions": "3+",
  "fields": [
    { "name": "Key", "type": "string", "versions": "0-3",
      "about": "The coordinator key." },
    { "name": "KeyType", "type": "int8", "versions": "1+", "default": "0", "ignorable": false,
      "about": "The coordinator key type. (Group, transaction, etc.)" },
    { "name": "CoordinatorKeysKeys", "type": "[]string", "versions": "4+",
      "about": "The coordinator keys." }
  ]
}

...

KafkaAdminClient will be updated to find all group coordinators in a single call if possible for both deleteConsumerGroups() and describeConsumerGroups(). If that's not possible, it will revert to send a FindCoordinators request for each group.

Compatibility, Deprecation, and Migration Plan

...