You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@kafka.apache.org by Hamidreza Afzali <ha...@hivestreaming.com> on 2016/10/03 14:18:36 UTC

Re: Kafka 0.10.1 ProcessorTopologyTestDriver and WindowedStreamPartitioner issue

Thanks Guozhang. We use ProcessorTopologyTestDriver for unit tests.

Hamid


> On 28 Sep 2016, at 11:48 AM, Hamidreza Afzali <ha...@hivestreaming.com> wrote:
> 
> Hi,
> 
> We are using the latest Kafka 0.10.1 branch. The combination of ProcessorTopologyTestDriver and WindowedStreamPartitioner is resulting in a division by 0 exception because of the empty list of partitions:
> 
> https://github.com/apache/kafka/blob/0.10.1/streams/src/test/java/org/apache/kafka/test/ProcessorTopologyTestDriver.java#L158
> https://github.com/apache/kafka/blob/0.10.1/streams/src/main/java/org/apache/kafka/streams/kstream/internals/WindowedStreamPartitioner.java#L47
> 
> Our topology looks similar to this:
> 
>  builder.stream("events")
>    .groupByKey(...)
>    .aggregate(...,
>      TimeWindows.of(1 * 60 * 1000L)
>    )
>    .mapValues(_.size: Integer)
>    .to(windowedSerde, Serdes.Integer(), "events-over-time")
> 
> If we use our own partitioner in .to() it works.
> 
>  class MyStreamPartitioner[K, V]() extends StreamPartitioner[K, V] {
>    override def partition(k: K, v: V, numPartitions: Int): Integer = {
>      // return an integer between 0 and numPartitions-1, or null if the default partitioning logic should be used
>      null
>    }
>  }
> 
> Is this a bug?
> 
> Thank you in advance,
> Hamid
> 


Re: Kafka 0.10.1 ProcessorTopologyTestDriver and WindowedStreamPartitioner issue

Posted by Guozhang Wang <wa...@gmail.com>.
I have pushed a hotfix to both trunk and 0.10.1, could you check if the
issue is resolved by now?

On Mon, Oct 3, 2016 at 7:18 AM, Hamidreza Afzali <
hamidreza.afzali@hivestreaming.com> wrote:

> Thanks Guozhang. We use ProcessorTopologyTestDriver for unit tests.
>
> Hamid
>
>
> > On 28 Sep 2016, at 11:48 AM, Hamidreza Afzali <hamidreza.afzali@
> hivestreaming.com> wrote:
> >
> > Hi,
> >
> > We are using the latest Kafka 0.10.1 branch. The combination of
> ProcessorTopologyTestDriver and WindowedStreamPartitioner is resulting in a
> division by 0 exception because of the empty list of partitions:
> >
> > https://github.com/apache/kafka/blob/0.10.1/streams/src/
> test/java/org/apache/kafka/test/ProcessorTopologyTestDriver.java#L158
> > https://github.com/apache/kafka/blob/0.10.1/streams/src/
> main/java/org/apache/kafka/streams/kstream/internals/
> WindowedStreamPartitioner.java#L47
> >
> > Our topology looks similar to this:
> >
> >  builder.stream("events")
> >    .groupByKey(...)
> >    .aggregate(...,
> >      TimeWindows.of(1 * 60 * 1000L)
> >    )
> >    .mapValues(_.size: Integer)
> >    .to(windowedSerde, Serdes.Integer(), "events-over-time")
> >
> > If we use our own partitioner in .to() it works.
> >
> >  class MyStreamPartitioner[K, V]() extends StreamPartitioner[K, V] {
> >    override def partition(k: K, v: V, numPartitions: Int): Integer = {
> >      // return an integer between 0 and numPartitions-1, or null if the
> default partitioning logic should be used
> >      null
> >    }
> >  }
> >
> > Is this a bug?
> >
> > Thank you in advance,
> > Hamid
> >
>
>


-- 
-- Guozhang

Re: Kafka 0.10.1 ProcessorTopologyTestDriver and WindowedStreamPartitioner issue

Posted by Hamidreza Afzali <ha...@hivestreaming.com>.
Thanks Guozhang. I can confirm the issue is resolved.

Hamid