Versions Compared

Key

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

...

Schema:
{ "fields" :
    [ {"name": "version", "type": "int"},
      {"name": "id", "type": "stringUUID", "doc": "version id"}},
      {"name": "partitions",
       "type": {"type": "map",
                "values": {"type": "array", "items": "int", "doc": "a list of replica ids"},
                "doc": "a map from partition id to replica list"},

             {"name": "adding_replicas",
       "type": {"type": "map",
                "values": {"type": "array", "items": "int", "doc": "a list of replica ids"},
                "doc": "a map from partition id to a list of replicas to add in a pending reassignment"},

             {"name": "removing_replicas",
       "type": {"type": "map",
                "values": {"type": "array", "items": "int", "doc": "a list of replica ids"},
                "doc": "a map from partition id to a list of replicas to remove in a pending reassignment"},
      }
    ]
}
 
Example:
{
  "version": 3,
  "id": "b8tRS7h4TJ2Vt43Dp85v2A",
  "partitions": {"0": [0, 1, 3] },
    "adding_replicas": {},
    "removing_replicas": {}
}

...

Requests to describe topics will return a result containing TopicDescriptions with topic IDs for each topic

Protocol Changes

Removal of Topic Names from Request and Responses

It is unnecessary to include the name of the topic in the following Request/Response calls:
StopReplica
Fetch
List Offsets
OffsetForLeader

Including the topic name in the request may make it easier to debug when issues arise, as it will provide more information than the topic ID alone. However, it will also bloat the protocol (especially relevant for FetchRequest), and if they are incorrectly used it may prevent topic renames from being easily implemented in the future. For these reasons, the topic name field has been removed.

LeaderAndIsr

LeaderAndIsrRequest v5

...

LeaderAndIsr Response (Version: 5) => error_code [topics]
  error_code => INT16
    topics => topic_id* [partitions]
        topic_id* => UUID 
    partitions => topic_id* partition error_code
      partition => INT32
      error_code => INT16

...

StopReplica Response (Version: 4) => error_code [topics]
  error_code => INT16
    topics => topic topic_id* [partitions]
    topic => STRING
    topic_id* => UUID 

    partitions => topic_id* partition error_code
      partition => INT32
      error_code => INT16

...

This file will be plain text (key/value pairs).

Metadata schema version: 0

Topic IDtopic_id: 46bdb63f-9e8d-4a38-bf7b-ee4eb2a794e4

...