You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "John Roesler (Jira)" <ji...@apache.org> on 2020/08/28 14:28:00 UTC

[jira] [Resolved] (KAFKA-10307) Topology cycles in KTableKTableForeignKeyInnerJoinMultiIntegrationTest#shouldInnerJoinMultiPartitionQueryable

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

John Roesler resolved KAFKA-10307.
----------------------------------
    Resolution: Not A Bug

This bug report was based on an invalid assumption that topologies wouldn't contain cycles. There was a secondary question in the comments about whether we computed the correct repartition topic partition counts for such topologies, and investigation reveals that we do. So I'm closing this ticket as "not a bug".

> Topology cycles in KTableKTableForeignKeyInnerJoinMultiIntegrationTest#shouldInnerJoinMultiPartitionQueryable
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-10307
>                 URL: https://issues.apache.org/jira/browse/KAFKA-10307
>             Project: Kafka
>          Issue Type: Bug
>          Components: streams
>    Affects Versions: 2.4.0, 2.5.0, 2.6.0
>            Reporter: Boyang Chen
>            Priority: Major
>         Attachments: repartition_calc.jpg
>
>
> We have spotted a cycled topology for the foreign-key join test *shouldInnerJoinMultiPartitionQueryable*, not sure yet whether this is a bug in the algorithm or the test only. Used [https://zz85.github.io/kafka-streams-viz/] to visualize:
> {code:java}
> Sub-topology: 0
>     Source: KTABLE-SOURCE-0000000019 (topics: [KTABLE-FK-JOIN-SUBSCRIPTION-RESPONSE-0000000017-topic])
>       --> KTABLE-FK-JOIN-SUBSCRIPTION-RESPONSE-RESOLVER-PROCESSOR-0000000020
>     Source: KTABLE-SOURCE-0000000032 (topics: [KTABLE-FK-JOIN-SUBSCRIPTION-RESPONSE-0000000030-topic])
>       --> KTABLE-FK-JOIN-SUBSCRIPTION-RESPONSE-RESOLVER-PROCESSOR-0000000033
>     Source: KSTREAM-SOURCE-0000000001 (topics: [table1])
>       --> KTABLE-SOURCE-0000000002
>     Processor: KTABLE-FK-JOIN-SUBSCRIPTION-RESPONSE-RESOLVER-PROCESSOR-0000000020 (stores: [table1-STATE-STORE-0000000000])
>       --> KTABLE-FK-JOIN-OUTPUT-0000000021
>       <-- KTABLE-SOURCE-0000000019
>     Processor: KTABLE-FK-JOIN-SUBSCRIPTION-RESPONSE-RESOLVER-PROCESSOR-0000000033 (stores: [INNER-store1])
>       --> KTABLE-FK-JOIN-OUTPUT-0000000034
>       <-- KTABLE-SOURCE-0000000032
>     Processor: KTABLE-FK-JOIN-OUTPUT-0000000021 (stores: [INNER-store1])
>       --> KTABLE-FK-JOIN-SUBSCRIPTION-REGISTRATION-0000000023
>       <-- KTABLE-FK-JOIN-SUBSCRIPTION-RESPONSE-RESOLVER-PROCESSOR-0000000020
>     Processor: KTABLE-FK-JOIN-OUTPUT-0000000034 (stores: [INNER-store2])
>       --> KTABLE-TOSTREAM-0000000035
>       <-- KTABLE-FK-JOIN-SUBSCRIPTION-RESPONSE-RESOLVER-PROCESSOR-0000000033
>     Processor: KTABLE-SOURCE-0000000002 (stores: [table1-STATE-STORE-0000000000])
>       --> KTABLE-FK-JOIN-SUBSCRIPTION-REGISTRATION-0000000010
>       <-- KSTREAM-SOURCE-0000000001
>     Processor: KTABLE-FK-JOIN-SUBSCRIPTION-REGISTRATION-0000000010 (stores: [])
>       --> KTABLE-SINK-0000000011
>       <-- KTABLE-SOURCE-0000000002
>     Processor: KTABLE-FK-JOIN-SUBSCRIPTION-REGISTRATION-0000000023 (stores: [])
>       --> KTABLE-SINK-0000000024
>       <-- KTABLE-FK-JOIN-OUTPUT-0000000021
>     Processor: KTABLE-TOSTREAM-0000000035 (stores: [])
>       --> KSTREAM-SINK-0000000036
>       <-- KTABLE-FK-JOIN-OUTPUT-0000000034
>     Sink: KSTREAM-SINK-0000000036 (topic: output-)
>       <-- KTABLE-TOSTREAM-0000000035
>     Sink: KTABLE-SINK-0000000011 (topic: KTABLE-FK-JOIN-SUBSCRIPTION-REGISTRATION-0000000009-topic)
>       <-- KTABLE-FK-JOIN-SUBSCRIPTION-REGISTRATION-0000000010
>     Sink: KTABLE-SINK-0000000024 (topic: KTABLE-FK-JOIN-SUBSCRIPTION-REGISTRATION-0000000022-topic)
>       <-- KTABLE-FK-JOIN-SUBSCRIPTION-REGISTRATION-0000000023  Sub-topology: 1
>     Source: KSTREAM-SOURCE-0000000004 (topics: [table2])
>       --> KTABLE-SOURCE-0000000005
>     Source: KTABLE-SOURCE-0000000012 (topics: [KTABLE-FK-JOIN-SUBSCRIPTION-REGISTRATION-0000000009-topic])
>       --> KTABLE-FK-JOIN-SUBSCRIPTION-PROCESSOR-0000000014
>     Processor: KTABLE-FK-JOIN-SUBSCRIPTION-PROCESSOR-0000000014 (stores: [KTABLE-FK-JOIN-SUBSCRIPTION-STATE-STORE-0000000013])
>       --> KTABLE-FK-JOIN-SUBSCRIPTION-PROCESSOR-0000000015
>       <-- KTABLE-SOURCE-0000000012
>     Processor: KTABLE-SOURCE-0000000005 (stores: [table2-STATE-STORE-0000000003])
>       --> KTABLE-FK-JOIN-SUBSCRIPTION-PROCESSOR-0000000016
>       <-- KSTREAM-SOURCE-0000000004
>     Processor: KTABLE-FK-JOIN-SUBSCRIPTION-PROCESSOR-0000000015 (stores: [table2-STATE-STORE-0000000003])
>       --> KTABLE-SINK-0000000018
>       <-- KTABLE-FK-JOIN-SUBSCRIPTION-PROCESSOR-0000000014
>     Processor: KTABLE-FK-JOIN-SUBSCRIPTION-PROCESSOR-0000000016 (stores: [KTABLE-FK-JOIN-SUBSCRIPTION-STATE-STORE-0000000013])
>       --> KTABLE-SINK-0000000018
>       <-- KTABLE-SOURCE-0000000005
>     Sink: KTABLE-SINK-0000000018 (topic: KTABLE-FK-JOIN-SUBSCRIPTION-RESPONSE-0000000017-topic)
>       <-- KTABLE-FK-JOIN-SUBSCRIPTION-PROCESSOR-0000000015, KTABLE-FK-JOIN-SUBSCRIPTION-PROCESSOR-0000000016  Sub-topology: 2
>     Source: KSTREAM-SOURCE-0000000007 (topics: [table3])
>       --> KTABLE-SOURCE-0000000008
>     Source: KTABLE-SOURCE-0000000025 (topics: [KTABLE-FK-JOIN-SUBSCRIPTION-REGISTRATION-0000000022-topic])
>       --> KTABLE-FK-JOIN-SUBSCRIPTION-PROCESSOR-0000000027
>     Processor: KTABLE-FK-JOIN-SUBSCRIPTION-PROCESSOR-0000000027 (stores: [KTABLE-FK-JOIN-SUBSCRIPTION-STATE-STORE-0000000026])
>       --> KTABLE-FK-JOIN-SUBSCRIPTION-PROCESSOR-0000000028
>       <-- KTABLE-SOURCE-0000000025
>     Processor: KTABLE-SOURCE-0000000008 (stores: [table3-STATE-STORE-0000000006])
>       --> KTABLE-FK-JOIN-SUBSCRIPTION-PROCESSOR-0000000029
>       <-- KSTREAM-SOURCE-0000000007
>     Processor: KTABLE-FK-JOIN-SUBSCRIPTION-PROCESSOR-0000000028 (stores: [table3-STATE-STORE-0000000006])
>       --> KTABLE-SINK-0000000031
>       <-- KTABLE-FK-JOIN-SUBSCRIPTION-PROCESSOR-0000000027
>     Processor: KTABLE-FK-JOIN-SUBSCRIPTION-PROCESSOR-0000000029 (stores: [KTABLE-FK-JOIN-SUBSCRIPTION-STATE-STORE-0000000026])
>       --> KTABLE-SINK-0000000031
>       <-- KTABLE-SOURCE-0000000008
>     Sink: KTABLE-SINK-0000000031 (topic: KTABLE-FK-JOIN-SUBSCRIPTION-RESPONSE-0000000030-topic)
>       <-- KTABLE-FK-JOIN-SUBSCRIPTION-PROCESSOR-0000000028, KTABLE-FK-JOIN-SUBSCRIPTION-PROCESSOR-0000000029
> {code}



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