Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Fix formatting

...

Public Interfaces

List Configs

 

Code Block
languagejs
titleListConfigs Request
ListConfigs Request (Version: 0) => [entities]   
  entities => entity_type entity_name
    entity_type => INT8
    entity_name => STRING

Request semantics:

  1. Can be sent to any broker
  2. If there are multiple instructions for the same entity in one

...

  1. request the extra request will be ignored
    • This is because the list of entities is modeled server side as a set
    • Multiple

...

    • entities results in the same end goal, so handling this error for the user should be okay
    • This is similar to how delete topics handles requests
  1. Entity types are "Topic", "Client", and "Broker".
  2. If entity_type is "Broker" and entity_name matches the broker that has received the request, read-only configs for this broker are also returned.
  3. Below are the authorization requirements for each type:
    • Broker: Must be authorized to the "Describe" Operation on the "Cluster" resource
    • Topic: Must be authorized to

...

    • the "Describe" Operation on the "Topic" resource
    • Client: Must be authorized to

...

    • the "Describe" Operation on the "Client" resource
      • This is a new resource needed
      • TODO: best way to handle this...
  1. Arbitrary configurations are allowed
    • This provides flexibility for custom clients, and allows all "plugin" or extra configs to be shown
    • The user can validate the configs after the describe command in their client to check for errors, but the wire protocol should relay all information.

 

Code Block
languagejs
titleListConfigs Response
ListConfigs Response (Version: 0) => [entities]   
  entities => entity_type entity_name error_code [configs]
    entity_type => INT8
    entity_name => STRING
    error_code => INT16
    configs =>
      config_name => STRING
      config_value => STRING
      read_only => BOOLEAN
      is_default => BOOLEAN

Alter Configs

...

Code Block
languagejs
titleAlterConfigs Request
AlterConfigs Request (Version: 0) => [entities] validate_only
  validate_only => BOOLEAN
  entities => entity_type entity_name error_code [configs]
    entity_type => INT8
    entity_name => STRING
    error_code => INT16
    configs =>
      config_key => STRING
      config_value => STRING

Request Semantics

  1. TODO
Code Block
languagejs
titleAlterConfigs Response
AlterConfigs Response (Version: 0) => [responses]   
  responses => entity_type entity_name error_code
    entity_type => INT8
    entity_name => STRING
    error_code => INT16

...


Proposed Changes

TBD

Compatibility, Deprecation, and Migration Plan

...