[ 
https://issues.apache.org/jira/browse/KAFKA-21251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alieh Saeedi reassigned KAFKA-21251:
------------------------------------

    Assignee: Alieh Saeedi

> kafka-streams-groups.sh --describe --topology: global store sub-topology 
> label can collide with a real subtopology id
> ---------------------------------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-21251
>                 URL: https://issues.apache.org/jira/browse/KAFKA-21251
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: Alieh Saeedi
>            Assignee: Alieh Saeedi
>            Priority: Minor
>
> h2. Problem
> {{TopologyDescriptionFormatter}} 
> (tools/src/main/java/org/apache/kafka/tools/streams/TopologyDescriptionFormatter.java)
>  labels global stores starting at {{{}topology.subtopologies().size(){}}}:
>  
>  {{int globalStoreId = topology.subtopologies().size();for (final GlobalStore 
> globalStore : topology.globalStores()) {    appendGlobalStore(sb, 
> globalStore, globalStoreId++);}}}
> This assumes regular subtopologies are numbered {{{}0..N-1{}}}. In Kafka 
> Streams, global stores and subtopologies share one node-group id counter 
> ({{{}InternalTopologyBuilder{}}}), so if the app defines its global 
> store/table first, the global store gets id {{0}} and regular subtopologies 
> get {{{}1..N{}}}.
> h2. Example
> Global store defined first, then two regular subtopologies (real ids 1, 2). 
> CLI output:
>  
>  {{Sub-topology: 1Sub-topology: 2Sub-topology: 2 for global store (will not 
> generate tasks)   <- collides with real sub-topology 2}}
> Stock Streams {{TopologyDescription.toString()}} would label the global store 
> {{{}0{}}}.
> h2. Impact
> Cosmetic, CLI display only (KIP-1331 {{{}--describe --topology{}}}). 
> Stored/pushed topology data and the CRD are unaffected. Not a release 
> blocker; can confuse operators reading the output.
> h2. Possible fixes
>  # Minimal: start global labels at {{max(subtopology id) + 1}} — removes the 
> collision, but may still differ from Streams' own id.
>  # Exact: carry the global store's real id in the KIP-1331 description and 
> print it — matches stock Streams output, but needs a protocol/API change.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to