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)