Hey Murilo, feel free to file a JIRA and paste your full topology. It seems like a bug to me.
Boyang On Thu, Feb 6, 2020 at 8:17 AM Murilo Tavares <murilo...@gmail.com> wrote: > Answering my own question, obviously this is a stateless application, so > there’s no reset needed. Mu bad. > But the NPE does seem to be linked to the fact that the topics were not > sorted, therefore different instances could have different topologies in > respect to the order. > Sorting the topics seems to have fixed the NPEs. > Thanks > Murilo > > > On Wed, Feb 5, 2020 at 1:34 PM Murilo Tavares <murilo...@gmail.com> wrote: > > > Hi > > I have a KafkaStreams application that's pretty simple, and acts as a > > repartitioner... It reads from input topics and send to output topics, > > based on a input-to-output topics map. It has a custom Repartitioner that > > will be responsible for assigning new partitions for the data in the > output > > topics. > > > > The topology is simple: > > protected Topology buildTopology(Map<String, String> topics) { > > StreamsBuilder builder = new StreamsBuilder(); > > for (Entry<String, String> entry : topics.entrySet()) { > > builder > > .stream(entry.getKey(), Consumed.with(Serdes.ByteArray(), > > Serdes.ByteArray())) > > .to(entry.getValue(), Produced.with(Serdes.ByteArray(), > > Serdes.ByteArray())); > > } > > return builder.build(); > > } > > > > The resulting topolgy will look like this: > > Sub-topology: 0 > > Source: KSTREAM-SOURCE-0000000000 (topics: [kafka.inputA]) > > --> KSTREAM-SINK-0000000001 > > Sink: KSTREAM-SINK-0000000001 (topic: kafka.inputA-repartitioned) > > <-- KSTREAM-SOURCE-0000000000 > > > > Sub-topology: 1 > > Source: KSTREAM-SOURCE-0000000002 (topics: [kafka.inputB]) > > --> KSTREAM-SINK-0000000003 > > Sink: KSTREAM-SINK-0000000003 (topic: kafka.inputB-repartitioned) > > <-- KSTREAM-SOURCE-0000000002 > > > > Sub-topology: 2 > > Source: KSTREAM-SOURCE-0000000004 (topics: [kafka.inputC]) > > --> KSTREAM-SINK-0000000005 > > Sink: KSTREAM-SINK-0000000005 (topic: kafka.inputC-repartitioned) > > <-- KSTREAM-SOURCE-0000000004 > > ... (about 25 diffent sub-topologies in total) > > > > I am facing some inconsistent NPE in some environments, that I'll send in > > the next e-mail not to polute this one anymore. > > > > But I am wondering if I can really do that, and what would happen if I: > > 1) add a new sub-topolgy; > > 2) adding the new sub-topology breaks the order of the iteration; > > > > Will any of the above operations require a reset to the KafkaStreams > > application (or new app.id)? > > > > Thanks > > Murilo > > >