Versions Compared

Key

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

...

The existing ListGroups API will be extended to support the notion of group types and to support the new group states.

Request Schema

The TypesFilter field is introduced. It allows listing groups of certain types.

Code Block
languagejs
linenumberstrue
{
  "apiKey": 16,
  "type": "request",
  "listeners": ["zkBroker", "broker"],
  "name": "ListGroupsRequest",
  // Version 1 and 2 are the same as version 0.
  //
  // Version 3 is the first flexible version.
  //
  // Version 4 adds the StatesFilter field (KIP-518).
  //
  // Version 5 adds the TypesFilter field (KIP-848).
  "validVersions": "0-5",
  "flexibleVersions": "3+",
  "fields": [
    { "name": "StatesFilter", "type": "[]string", "versions": "4+",
      "about": "The states of the groups we want to list. If empty
                all groups are returned with their state."
    },
    { "name": "TypesFilter", "type": "[]string", "versions": "5+",
      "about": "The types of the groups we want to list. If empty
                all groups are returned"
    }
  ]
}

Required ACL

...

  • Read Group

Response Schema

The GroupType field is introduced. It represents the type of the group.

Code Block
linenumberstrue
{
  "apiKey": 16,
  "type": "response",
  "name": "ListGroupsResponse",
  // Version 1 adds the throttle time.
  //
  // Starting in version 2, on quota violation, brokers send out
  // responses before throttling.
  //
  // Version 3 is the first flexible version.
  //
  // Version 4 adds the GroupState field (KIP-518).
  //
  // Version 5 adds the GroupType field (KIP-848).
  "validVersions": "0-5",
  "flexibleVersions": "3+",
  "fields": [
    { "name": "ThrottleTimeMs", "type": "int32", "versions": "1+", 
      "ignorable": true,
      "about": "The duration in milliseconds for which the request
                was throttled due to a quota violation, or zero if
                the request did not violate any quota." },
    { "name": "ErrorCode", "type": "int16", "versions": "0+",
      "about": "The error code, or 0 if there was no error." },
    { "name": "Groups", "type": "[]ListedGroup", "versions": "0+",
      "about": "Each group in the response.", "fields": [
      { "name": "GroupId", "type": "string", "versions": "0+",
        "entityType": "groupId",
        "about": "The group ID." },
      { "name": "ProtocolType", "type": "string", "versions": "0+",
        "about": "The group protocol type." },
      { "name": "GroupState", "type": "string", "versions": "4+",
        "ignorable": true,
        "about": "The group state name." },
      { "name": "GroupType", "type": "string", "versions": "5+",
        "ignorable": true,
        "about": "The group state name." }
    ]}
  ]
}

JoinGroup API

Request Schema

Code Block
languagejs
linenumberstrue

Required ACL


Request Validation


Request Handling


Response Schema

Code Block
languagejs
linenumberstrue

...

Update MemberId to UUID, add MemberEpoch

Request Schema

Code Block
languagejs
linenumberstrue

Required ACL


Request Validation


Request Handling


Response Schema

Code Block
languagejs
linenumberstrue

...

OffsetFetch API

Add MemberId/MemberEpoch

Request Schema

Code Block
languagejs
linenumberstrue

Required ACL


Request Validation


Request Handling


Response Schema

Code Block
languagejs
linenumberstrue

...

DescribeConfigs API

Add group resource.

Request Schema

Code Block
languagejs
linenumberstrue

Required ACL


Request Validation


Request Handling


Response Schema

Code Block
languagejs
linenumberstrue

...

AlterIncrementalConfigs API

Add group resource.

Request Schema

Code Block
languagejs
linenumberstrue

Required ACL


Request Validation


Request Handling


Response Schema

Code Block
languagejs
linenumberstrue

Response Handling


Records

TODO

Broker API

Broker side assignor API - Basically the same as the consumer but without metadata.

...

  • flag
  • server side assignor
  • client side assignor

Streams Metadata

TODO

Streams Configurations

  • flag

...