If I read this correctly, your upstream producer which writes into the input topic of you KS app is using a custom partitioner?

If you do a `groupByKey()` and change the key upstream, it would result in a repartition step, which would fall back to the default partioner.

If you want to use a custom partitioner in KS, you should implement `StreamPartitioner` instead of the producer partitioner interface, and pass it into the relevant methods.

`groupByKey()` does not allow to set a partitioner (seem this is a gap we should close...) -- as a workaround you could add repartition() before the grouping to pass your custom partitioner.

For IQ, you should also need to pass your `StreamsPartitioner` to allow KS to fine the correct partition to query.

HTH.

-Matthias


On 5/13/24 4:35 PM, Dev Lover wrote:
Hi All,

I have a custom partitioner to distribute the data across partitions in my
cluster.

My setup looks like below
Version - 3.7.0
Kafka - 3 broker setup
Partition count - 10
Stream server pods - 2
Stream threads in each pod - 10
Deployed in Kubernetes
Custom partitioner on producer end.

I am doing a groupbykey . Is it correct to use it when I have custom
partitioner on producer end ?
I recently migrated to 3.7 from 3.5.1 . I am observing that partitions are
not evenly distributed across my 2 stream pods. Also my remote query is
failing with host being unavailable. But if I restart streams it works fine
for a certain time and again starts erroring out. Am I doing something
wrong?

Regards

Reply via email to