A. Sophie Blee-Goldman created KAFKA-18191:
----------------------------------------------

             Summary: StreamJoined name is not used for processor names
                 Key: KAFKA-18191
                 URL: https://issues.apache.org/jira/browse/KAFKA-18191
             Project: Kafka
          Issue Type: Bug
          Components: streams
            Reporter: A. Sophie Blee-Goldman


The StreamJoined#as API allows you to set a name for a stream-stream join 
operator. The intention is to allow one to name the stores, and therefore 
changelogs, resulting in an upgradeable topology, but it is a bit strange that 
the name isn't also used for the processors themselves.

Of course, the stream-stream join is a bit of an edge case compared to, say, a 
count or filter operator, where the operator is a 1:1 mapping to the processor 
node and the user can name the processor exactly, because the stream-stream 
join operator actually results in multiple processors which each need a unique 
name. However, we could at least use the specified StreamJoined name as the 
basis for the resulting processor names, to avoid getting stuck with names like 
"KSTREAM-JOINTHIS-0000000004" and "KSTREAM-WINDOWED-0000000003" which are 
difficult to interpret and make it hard to read a topology

Note that there is some existing precedent for this: for example with cogroups, 
the individual processors inherit the base name of the cogroup's aggregate 
operator name.  For example this code

 
{code:java}
grouped1
.cogroup((k, v, a) -> a + v) // wrapped 1
.cogroup(grouped2, (k, v, a) -> a + v) // wrapped 2
.aggregate(() -> "", Named.as("myName"), Materialized.as("store")) {code}
 
produces processors with these names: "myName-cogroup-agg-0", 
"myName-cogroup-agg-1", "myName-cogroup-merge"



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

Reply via email to