Boyang Chen created KAFKA-10307: ----------------------------------- Summary: Topology cycles in KTableKTableForeignKeyInnerJoinMultiIntegrationTest#shouldInnerJoinMultiPartitionQueryable Key: KAFKA-10307 URL: https://issues.apache.org/jira/browse/KAFKA-10307 Project: Kafka Issue Type: Bug Reporter: Boyang Chen
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)