ProducerSendThread and SyncProducer all come from the old Scala producer, I
thought you meant that producer not the new Java producer?

Guozhang

On Tue, Jun 30, 2015 at 9:09 AM, Shushant Arora <shushantaror...@gmail.com>
wrote:

> According to code of org.apache.kafka.clients.producer.KafkaProducer.
>
> It has 1 ioThread
>
> private final Thread
> <
> http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/lang/Thread.java#Thread
> >
>  ioThread;
>
>   String <
> http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/lang/String.java#String
> >
> ioThreadName = "kafka-producer-network-thread" + (clientId.length
> <
> http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/lang/String.java#String.length%28%29
> >()
> > 0 ? " | " + clientId : "");
>
> 210 <
> http://grepcode.com/file/repo1.maven.org/maven2/org.apache.kafka/kafka-clients/0.8.2.0/org/apache/kafka/clients/producer/KafkaProducer.java#210
> >
>
> <
> http://grepcode.com/file/repo1.maven.org/maven2/org.apache.kafka/kafka-clients/0.8.2.0/org/apache/kafka/clients/producer/KafkaProducer.java#
> >
>
>         this.ioThread
> <
> http://grepcode.com/file/repo1.maven.org/maven2/org.apache.kafka/kafka-clients/0.8.2.0/org/apache/kafka/clients/producer/KafkaProducer.java#KafkaProducer.0ioThread
> >
> = new KafkaThread
> <
> http://grepcode.com/file/repo1.maven.org/maven2/org.apache.kafka/kafka-clients/0.8.2.0/org/apache/kafka/common/utils/KafkaThread.java#KafkaThread
> >(ioThreadName,
> this.sender <
> http://grepcode.com/file/repo1.maven.org/maven2/org.apache.kafka/kafka-clients/0.8.2.0/org/apache/kafka/clients/producer/KafkaProducer.java#KafkaProducer.0sender
> >,
> true);
>
> 211 <
> http://grepcode.com/file/repo1.maven.org/maven2/org.apache.kafka/kafka-clients/0.8.2.0/org/apache/kafka/clients/producer/KafkaProducer.java#211
> >
>
> <
> http://grepcode.com/file/repo1.maven.org/maven2/org.apache.kafka/kafka-clients/0.8.2.0/org/apache/kafka/clients/producer/KafkaProducer.java#
> >
>
>         this.ioThread
> <
> http://grepcode.com/file/repo1.maven.org/maven2/org.apache.kafka/kafka-clients/0.8.2.0/org/apache/kafka/clients/producer/KafkaProducer.java#KafkaProducer.0ioThread
> >.start
> <
> http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/lang/Thread.java#Thread.start%28%29
> >();
>
> 212 <
> http://grepcode.com/file/repo1.maven.org/maven2/org.apache.kafka/kafka-clients/0.8.2.0/org/apache/kafka/clients/producer/KafkaProducer.java#212
> >
>
>
> is ioThread is the one responsible for sending message from inmemory buffer
> to kafka broker . So where is SyncProducer  got created and is SyncProducer
> responsible for sending message from inmemory buffer to kafka broker and
> where is that got created?
>
>
>
>
>
>
> On Tue, Jun 30, 2015 at 9:16 PM, Guozhang Wang <wangg...@gmail.com> wrote:
>
> > One ProducerSendThread is always the case for producer, but inside the
> > thread there is one SyncProducer for each destination broker. I think
> that
> > blog may mis-understand the design a bit.
> >
> > Guozhang
> >
> > On Tue, Jun 30, 2015 at 1:45 AM, Shushant Arora <
> shushantaror...@gmail.com
> > >
> > wrote:
> >
> > > According to
> > > https://engineering.gnip.com/kafka-async-producer/
> > > There is one ProducerSendThread  per broker. Is it changed from 0.8.2 ?
> > to
> > > use single send thread irrespective of broker or partitions.
> > >
> > >
> > > On Mon, Jun 29, 2015 at 11:27 PM, Guozhang Wang <wangg...@gmail.com>
> > > wrote:
> > >
> > > > Hi Shushant,
> > > >
> > > > The number of ProducerSendThread will be always one, regardless of
> the
> > > > number of destination brokers, or the number of partitions.
> > > >
> > > > Guozhang
> > > >
> > > > On Mon, Jun 29, 2015 at 9:38 AM, Shushant Arora <
> > > shushantaror...@gmail.com
> > > > >
> > > > wrote:
> > > >
> > > > > Hi
> > > > >
> > > > > Does kafka async producer creates thread(ProducerSendThread) in
> > > producer
> > > > > memory based on no number of partitions or brokers in kafka cluster
> > to
> > > > > which it will write.
> > > > >
> > > > > If my cluster had 1000 partitions does each producer will have 1000
> > > > threads
> > > > > running always ?
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > -- Guozhang
> > > >
> > >
> >
> >
> >
> > --
> > -- Guozhang
> >
>



-- 
-- Guozhang

Reply via email to