Guozhang Wang created KAFKA-9020:
------------------------------------

             Summary: Streams sub-topologies should be sorted by sink -> source 
relationship
                 Key: KAFKA-9020
                 URL: https://issues.apache.org/jira/browse/KAFKA-9020
             Project: Kafka
          Issue Type: Improvement
          Components: streams
            Reporter: Guozhang Wang


In Streams {{InternalTopologyBuilder}} we are sorting the sub-topologies (named 
as node groups) based on the source node names:

{code}
for (final String nodeName : Utils.sorted(allSourceNodes)) {
            nodeGroupId = putNodeGroupName(nodeName, nodeGroupId, nodeGroups, 
rootToNodeGroup);
        }
{code}

This is okay for DSL where the source node names are not customized, and hence 
we can just rely on the internal suffix {{..-SOURCE-xxxxx}} which is basically 
following the parsing order. But now with the source node name customized with 
KIP-307, we should no longer rely on the source node names. Instead, we should 
sort sub-topologies by the sink -> source relationship --- that is, if a 
sub-topology A has a sink node sending to topic X while another sub-topology B 
has a source node reading from X, then A should be sorted before B.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to