What is StreamsGroupTopologyDescriptionUpdate?
Pushes a Streams application's topology description — subtopologies, processing nodes, and global state stores — to the group coordinator, which hands it to the configured topology description plugin (KIP-1331). Clients send it when a StreamsGroupHeartbeat response sets TopologyDescriptionRequired, and a member no longer in the group is rejected with UNKNOWN_MEMBER_ID so it treats itself as fenced and rejoins. Added on trunk after 4.3 — no released broker accepts it.
Wire Diagram
Request Header · flexible
message_size
int32 · 4B
api_key
int16 · 2B
api_version
int16 · 2B
correlation_id
int32 · 4B
client_id
string (compact)
tagged
var
StreamsGroupTopologyDescriptionUpdateRequest v0
GroupId
string (compact)
MemberId
string (compact)
TopologyEpoch
int32 · 4B
tagged
var
tagged
var
SubtopologyId
string (compact)
tagged
var
Name
string (compact)
NodeType
int8 · 1B
SourceTopics
[]string
SinkTopic?
string (compact)
Stores
[]string
Successors
[]string
tagged
var
tagged
var
Name
string (compact)
NodeType
int8 · 1B
SourceTopics
[]string
SinkTopic?
string (compact)
Stores
[]string
Successors
[]string
tagged
var
Name
string (compact)
NodeType
int8 · 1B
SourceTopics
[]string
SinkTopic?
string (compact)
Stores
[]string
Successors
[]string
tagged
var
Schema & Example
Schema { "GroupId": string, "MemberId": string, "TopologyEpoch": int32, "TopologyDescription": { "Subtopologies": [{ "SubtopologyId": string, "Nodes": [{ "Name": string, "NodeType": int8, "SourceTopics": [string], "SinkTopic": string?, "Stores": [string], "Successors": [string] }] }], "GlobalStores": [{ "Source": { "Name": string, "NodeType": int8, "SourceTopics": [string], "SinkTopic": string?, "Stores": [string], "Successors": [string] }, "Processor": { "Name": string, "NodeType": int8, "SourceTopics": [string], "SinkTopic": string?, "Stores": [string], "Successors": [string] } }] } }
Example { "GroupId": "order-processors", "MemberId": "consumer-1-abc123", "TopologyEpoch": 12, "TopologyDescription": { "Subtopologies": [{ "SubtopologyId": "abc-123", "Nodes": [{ "Name": "orders", "NodeType": 1, "SourceTopics": ["value-1", "value-2"], "SinkTopic": null, "Stores": ["value-1", "value-2"], "Successors": ["value-1", "value-2"] }] }], "GlobalStores": [{ "Source": { "Name": "orders", "NodeType": 1, "SourceTopics": ["value-1", "value-2"], "SinkTopic": "", "Stores": ["value-1", "value-2"], "Successors": ["value-1", "value-2"] }, "Processor": { "Name": "orders", "NodeType": 1, "SourceTopics": ["value-1", "value-2"], "SinkTopic": "", "Stores": ["value-1", "value-2"], "Successors": ["value-1", "value-2"] } }] } }