You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Steven Youtsey (Jira)" <ji...@apache.org> on 2025/01/09 16:34:00 UTC

[jira] [Resolved] (NIFI-12809) PublishKafkaRecord_2_6 - RoundRobin partitioner skipping every other partition

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

Steven Youtsey resolved NIFI-12809.
-----------------------------------
    Fix Version/s: 2.0.0
       Resolution: Workaround

Closing due to existing workaround...use an odd number of partitions. 

Further, the NiFi 2.x line has refactored the Kafka components such that any real fixes to this issue must come from the Apache/Kafka folks - and rightly so as the problem originates on that side. The noted Kafka ticket is still open at present.

> PublishKafkaRecord_2_6 - RoundRobin partitioner skipping every other partition
> ------------------------------------------------------------------------------
>
>                 Key: NIFI-12809
>                 URL: https://issues.apache.org/jira/browse/NIFI-12809
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Extensions
>    Affects Versions: 1.25.0
>            Reporter: Steven Youtsey
>            Priority: Major
>              Labels: kafka, partitioners, publish
>             Fix For: 2.0.0
>
>
> When configured to use the NiFi RoundRobin partitioner, the processor publishes to every other partition. If the number of partitions in the topic and the number of records being published are the right combination, this problem is masked. We see this issue when we set the partitions to 26, but not when set to 25. 
> I took a code-dive into the o.a.k.c.producer.KafkaProducer and discovered that it is invoking the Partitioner twice when a "new batch" is created. Thus, the RoundRobin partitioner bumps the index by 2. If the RoundRobin partitioner overwrote the onNewBatch method, this problem could be solved.



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