Re: Re: Re: Re: Re: Kafka lost data issue

2015-11-16 Thread Gwen Shapira
If producer doesn't get a response, retries but both produce-requests
succeeded, you will get duplicates. Kafka does not have a Idempotent
Producer.

On Fri, Nov 13, 2015 at 4:35 AM, Prabhjot Bharaj 
wrote:

> Hi Gwen,
>
> If producer cant get a response but the message got committed, Because of
> retries, can this producer be committing messages more than once??
> I'm trying to see this problem from the point of view of Idempotent
> Producer
>
> Thanks,
> Prabhjot
> On Nov 13, 2015 1:26 PM, "Hawin Jiang"  wrote:
>
>> Thanks Gwen for your excellent slides
>>
>> I will test it again based on your suggestions.
>>
>>
>>
>>
>> Best regards
>> Hawin
>>
>> On Thu, Nov 12, 2015 at 6:35 PM, Gwen Shapira  wrote:
>>
>> > Hi,
>> >
>> > First, here's a handy slide-deck on avoiding data loss in Kafka:
>> >
>> >
>> http://www.slideshare.net/gwenshap/kafka-reliability-when-it-absolutely-positively-has-to-be-there
>> >
>> > Note configuration parameters like the number of retries.
>> >
>> > Also, it looks like you are sending data to Kafka asynchronously, but
>> you
>> > don't have a callback - so if Send fails, you have no way of updating
>> the
>> > count, logging or anything else. I recommend taking a look at the
>> callback
>> > API for sending data and improving your test to at least record send
>> > failures.
>> >
>> > Gwen
>> >
>> >
>> > On Thu, Nov 12, 2015 at 11:10 AM, Hawin Jiang 
>> > wrote:
>> >
>> > > Hi  Pradeep
>> > >
>> > > Here is my configuration
>> > >
>> > > # Producer Basics
>> > #
>> > >
>> > > # list of brokers used for bootstrapping knowledge about the rest of
>> the
>> > > cluster
>> > > # format: host1:port1,host2:port2 ...
>> > > metadata.broker.list=localhost:9092
>> > >
>> > > # name of the partitioner class for partitioning events; default
>> > partition
>> > > spreads data randomly
>> > > #partitioner.class=
>> > >
>> > > # specifies whether the messages are sent asynchronously (async) or
>> > > synchronously (sync)
>> > > producer.type=sync
>> > >
>> > > # specify the compression codec for all data generated: none, gzip,
>> > snappy,
>> > > lz4.
>> > > # the old config values work as well: 0, 1, 2, 3 for none, gzip,
>> snappy,
>> > > lz4, respectively
>> > > compression.codec=none
>> > >
>> > > # message encoder
>> > > serializer.class=kafka.serializer.DefaultEncoder
>> > >
>> > > # allow topic level compression
>> > > #compressed.topics=
>> > >
>> > > # Async Producer
>> > #
>> > > # maximum time, in milliseconds, for buffering data on the producer
>> queue
>> > > #queue.buffering.max.ms=
>> > >
>> > > # the maximum size of the blocking queue for buffering on the producer
>> > > #queue.buffering.max.messages=
>> > >
>> > > # Timeout for event enqueue:
>> > > # 0: events will be enqueued immediately or dropped if the queue is
>> full
>> > > # -ve: enqueue will block indefinitely if the queue is full
>> > > # +ve: enqueue will block up to this many milliseconds if the queue is
>> > full
>> > > #queue.enqueue.timeout.ms=
>> > >
>> > > # the number of messages batched at the producer
>> > > #batch.num.messages=
>> > >
>> > >
>> > >
>> > > @Jinxing
>> > >
>> > > I have not found the kafka 0.8.3.0 on
>> > > http://mvnrepository.com/artifact/org.apache.kafka/kafka_2.10.
>> > > The latest release is 0.8.2.2.
>> > > if we flush producer all the times,  I think it will impact our
>> > > performance.
>> > > I just want to make sure how many messages in producer, then can be
>> found
>> > > it in consumer as well.
>> > > We can not lost so many messages in our system.
>> > >
>> > >
>> > >
>> > > Best regards
>> > > Hawin
>> > >
>> > >
>> > > On Thu, Nov 12, 2015 at 7:02 AM, jinxing  wrote:
>> > >
>> > > > i have 3 brokers;
>> > > > the ack configuration is -1(all), meaning a message is sent
>> > successfully
>> > > > only after getting every broker's  ack;
>> > > > is this a bug?
>> > > >
>> > > >
>> > > >
>> > > >
>> > > >
>> > > >
>> > > >
>> > > > At 2015-11-12 21:08:49, "Pradeep Gollakota" 
>> > > wrote:
>> > > > >What is your producer configuration? Specifically, how many acks
>> are
>> > you
>> > > > >requesting from Kafka?
>> > > > >
>> > > > >On Thu, Nov 12, 2015 at 2:03 AM, jinxing 
>> wrote:
>> > > > >
>> > > > >> in kafka_0.8.3.0:
>> > > > >> kafkaProducer = new KafkaProducer<>(properties, new
>> > > > ByteArraySerializer(),
>> > > > >> new ByteArraySerializer());
>> > > > >> kafkaProducer.flush();
>> > > > >> you can call the flush after sending every few messages;
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >> At 2015-11-12 17:36:24, "Hawin Jiang" 
>> > wrote:
>> > > > >> >Hi  Prabhjot
>> > > > >> >
>> > > > >> >The messages are "Thread1_kafka_1" and 

Re: Re: Re: Re: Re: Kafka lost data issue

2015-11-13 Thread Prabhjot Bharaj
Hi Gwen,

If producer cant get a response but the message got committed, Because of
retries, can this producer be committing messages more than once??
I'm trying to see this problem from the point of view of Idempotent Producer

Thanks,
Prabhjot
On Nov 13, 2015 1:26 PM, "Hawin Jiang"  wrote:

> Thanks Gwen for your excellent slides
>
> I will test it again based on your suggestions.
>
>
>
>
> Best regards
> Hawin
>
> On Thu, Nov 12, 2015 at 6:35 PM, Gwen Shapira  wrote:
>
> > Hi,
> >
> > First, here's a handy slide-deck on avoiding data loss in Kafka:
> >
> >
> http://www.slideshare.net/gwenshap/kafka-reliability-when-it-absolutely-positively-has-to-be-there
> >
> > Note configuration parameters like the number of retries.
> >
> > Also, it looks like you are sending data to Kafka asynchronously, but you
> > don't have a callback - so if Send fails, you have no way of updating the
> > count, logging or anything else. I recommend taking a look at the
> callback
> > API for sending data and improving your test to at least record send
> > failures.
> >
> > Gwen
> >
> >
> > On Thu, Nov 12, 2015 at 11:10 AM, Hawin Jiang 
> > wrote:
> >
> > > Hi  Pradeep
> > >
> > > Here is my configuration
> > >
> > > # Producer Basics
> > #
> > >
> > > # list of brokers used for bootstrapping knowledge about the rest of
> the
> > > cluster
> > > # format: host1:port1,host2:port2 ...
> > > metadata.broker.list=localhost:9092
> > >
> > > # name of the partitioner class for partitioning events; default
> > partition
> > > spreads data randomly
> > > #partitioner.class=
> > >
> > > # specifies whether the messages are sent asynchronously (async) or
> > > synchronously (sync)
> > > producer.type=sync
> > >
> > > # specify the compression codec for all data generated: none, gzip,
> > snappy,
> > > lz4.
> > > # the old config values work as well: 0, 1, 2, 3 for none, gzip,
> snappy,
> > > lz4, respectively
> > > compression.codec=none
> > >
> > > # message encoder
> > > serializer.class=kafka.serializer.DefaultEncoder
> > >
> > > # allow topic level compression
> > > #compressed.topics=
> > >
> > > # Async Producer
> > #
> > > # maximum time, in milliseconds, for buffering data on the producer
> queue
> > > #queue.buffering.max.ms=
> > >
> > > # the maximum size of the blocking queue for buffering on the producer
> > > #queue.buffering.max.messages=
> > >
> > > # Timeout for event enqueue:
> > > # 0: events will be enqueued immediately or dropped if the queue is
> full
> > > # -ve: enqueue will block indefinitely if the queue is full
> > > # +ve: enqueue will block up to this many milliseconds if the queue is
> > full
> > > #queue.enqueue.timeout.ms=
> > >
> > > # the number of messages batched at the producer
> > > #batch.num.messages=
> > >
> > >
> > >
> > > @Jinxing
> > >
> > > I have not found the kafka 0.8.3.0 on
> > > http://mvnrepository.com/artifact/org.apache.kafka/kafka_2.10.
> > > The latest release is 0.8.2.2.
> > > if we flush producer all the times,  I think it will impact our
> > > performance.
> > > I just want to make sure how many messages in producer, then can be
> found
> > > it in consumer as well.
> > > We can not lost so many messages in our system.
> > >
> > >
> > >
> > > Best regards
> > > Hawin
> > >
> > >
> > > On Thu, Nov 12, 2015 at 7:02 AM, jinxing  wrote:
> > >
> > > > i have 3 brokers;
> > > > the ack configuration is -1(all), meaning a message is sent
> > successfully
> > > > only after getting every broker's  ack;
> > > > is this a bug?
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > At 2015-11-12 21:08:49, "Pradeep Gollakota" 
> > > wrote:
> > > > >What is your producer configuration? Specifically, how many acks are
> > you
> > > > >requesting from Kafka?
> > > > >
> > > > >On Thu, Nov 12, 2015 at 2:03 AM, jinxing 
> wrote:
> > > > >
> > > > >> in kafka_0.8.3.0:
> > > > >> kafkaProducer = new KafkaProducer<>(properties, new
> > > > ByteArraySerializer(),
> > > > >> new ByteArraySerializer());
> > > > >> kafkaProducer.flush();
> > > > >> you can call the flush after sending every few messages;
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >> At 2015-11-12 17:36:24, "Hawin Jiang" 
> > wrote:
> > > > >> >Hi  Prabhjot
> > > > >> >
> > > > >> >The messages are "Thread1_kafka_1" and "Thread2_kafka_1".
> Something
> > > > like
> > > > >> >that.
> > > > >> >
> > > > >> >For GetOffsetShell report below:
> > > > >> >
> > > > >> >[kafka@dn-01 bin]$ ./kafka-run-class.sh
> kafka.tools.GetOffsetShell
> > > > >> >--broker-list dn-01:9092 --time -1 --topic kafka-test
> > > > >> >kafka-test:0:12529261
> > > > >> >
> > > > >> >
> > > > >> >
> > > > >> >
> > > > >> >@Jinxing
> > > > >> >
> > > > >> >Can 

Re: Re: Re: Re: Re: Kafka lost data issue

2015-11-12 Thread Hawin Jiang
Thanks Gwen for your excellent slides

I will test it again based on your suggestions.




Best regards
Hawin

On Thu, Nov 12, 2015 at 6:35 PM, Gwen Shapira  wrote:

> Hi,
>
> First, here's a handy slide-deck on avoiding data loss in Kafka:
>
> http://www.slideshare.net/gwenshap/kafka-reliability-when-it-absolutely-positively-has-to-be-there
>
> Note configuration parameters like the number of retries.
>
> Also, it looks like you are sending data to Kafka asynchronously, but you
> don't have a callback - so if Send fails, you have no way of updating the
> count, logging or anything else. I recommend taking a look at the callback
> API for sending data and improving your test to at least record send
> failures.
>
> Gwen
>
>
> On Thu, Nov 12, 2015 at 11:10 AM, Hawin Jiang 
> wrote:
>
> > Hi  Pradeep
> >
> > Here is my configuration
> >
> > # Producer Basics
> #
> >
> > # list of brokers used for bootstrapping knowledge about the rest of the
> > cluster
> > # format: host1:port1,host2:port2 ...
> > metadata.broker.list=localhost:9092
> >
> > # name of the partitioner class for partitioning events; default
> partition
> > spreads data randomly
> > #partitioner.class=
> >
> > # specifies whether the messages are sent asynchronously (async) or
> > synchronously (sync)
> > producer.type=sync
> >
> > # specify the compression codec for all data generated: none, gzip,
> snappy,
> > lz4.
> > # the old config values work as well: 0, 1, 2, 3 for none, gzip, snappy,
> > lz4, respectively
> > compression.codec=none
> >
> > # message encoder
> > serializer.class=kafka.serializer.DefaultEncoder
> >
> > # allow topic level compression
> > #compressed.topics=
> >
> > # Async Producer
> #
> > # maximum time, in milliseconds, for buffering data on the producer queue
> > #queue.buffering.max.ms=
> >
> > # the maximum size of the blocking queue for buffering on the producer
> > #queue.buffering.max.messages=
> >
> > # Timeout for event enqueue:
> > # 0: events will be enqueued immediately or dropped if the queue is full
> > # -ve: enqueue will block indefinitely if the queue is full
> > # +ve: enqueue will block up to this many milliseconds if the queue is
> full
> > #queue.enqueue.timeout.ms=
> >
> > # the number of messages batched at the producer
> > #batch.num.messages=
> >
> >
> >
> > @Jinxing
> >
> > I have not found the kafka 0.8.3.0 on
> > http://mvnrepository.com/artifact/org.apache.kafka/kafka_2.10.
> > The latest release is 0.8.2.2.
> > if we flush producer all the times,  I think it will impact our
> > performance.
> > I just want to make sure how many messages in producer, then can be found
> > it in consumer as well.
> > We can not lost so many messages in our system.
> >
> >
> >
> > Best regards
> > Hawin
> >
> >
> > On Thu, Nov 12, 2015 at 7:02 AM, jinxing  wrote:
> >
> > > i have 3 brokers;
> > > the ack configuration is -1(all), meaning a message is sent
> successfully
> > > only after getting every broker's  ack;
> > > is this a bug?
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > At 2015-11-12 21:08:49, "Pradeep Gollakota" 
> > wrote:
> > > >What is your producer configuration? Specifically, how many acks are
> you
> > > >requesting from Kafka?
> > > >
> > > >On Thu, Nov 12, 2015 at 2:03 AM, jinxing  wrote:
> > > >
> > > >> in kafka_0.8.3.0:
> > > >> kafkaProducer = new KafkaProducer<>(properties, new
> > > ByteArraySerializer(),
> > > >> new ByteArraySerializer());
> > > >> kafkaProducer.flush();
> > > >> you can call the flush after sending every few messages;
> > > >>
> > > >>
> > > >>
> > > >>
> > > >>
> > > >>
> > > >>
> > > >> At 2015-11-12 17:36:24, "Hawin Jiang" 
> wrote:
> > > >> >Hi  Prabhjot
> > > >> >
> > > >> >The messages are "Thread1_kafka_1" and "Thread2_kafka_1". Something
> > > like
> > > >> >that.
> > > >> >
> > > >> >For GetOffsetShell report below:
> > > >> >
> > > >> >[kafka@dn-01 bin]$ ./kafka-run-class.sh kafka.tools.GetOffsetShell
> > > >> >--broker-list dn-01:9092 --time -1 --topic kafka-test
> > > >> >kafka-test:0:12529261
> > > >> >
> > > >> >
> > > >> >
> > > >> >
> > > >> >@Jinxing
> > > >> >
> > > >> >Can you share your flush example to me?  How to avoid lost my
> > messages?
> > > >> >Thanks.
> > > >> >
> > > >> >
> > > >> >
> > > >> >Best regards
> > > >> >Hawin
> > > >> >
> > > >> >
> > > >> >
> > > >> >On Thu, Nov 12, 2015 at 1:00 AM, jinxing 
> > wrote:
> > > >> >
> > > >> >> there is a flush api of the producer, you can call this to
> prevent
> > > >> >> messages lost;
> > > >> >>
> > > >> >>
> > > >> >> maybe it can help;
> > > >> >>
> > > >> >>
> > > >> >>
> > > >> >>
> > > >> >>
> > > >> >>
> > > >> >>
> > > >> >>
> > > >> >> At 2015-11-12 16:43:54, "Hawin Jiang" 
> > wrote:
> > > >> >> 

Re: Re: Re: Re: Re: Kafka lost data issue

2015-11-12 Thread Gwen Shapira
Hi,

First, here's a handy slide-deck on avoiding data loss in Kafka:
http://www.slideshare.net/gwenshap/kafka-reliability-when-it-absolutely-positively-has-to-be-there

Note configuration parameters like the number of retries.

Also, it looks like you are sending data to Kafka asynchronously, but you
don't have a callback - so if Send fails, you have no way of updating the
count, logging or anything else. I recommend taking a look at the callback
API for sending data and improving your test to at least record send
failures.

Gwen


On Thu, Nov 12, 2015 at 11:10 AM, Hawin Jiang  wrote:

> Hi  Pradeep
>
> Here is my configuration
>
> # Producer Basics #
>
> # list of brokers used for bootstrapping knowledge about the rest of the
> cluster
> # format: host1:port1,host2:port2 ...
> metadata.broker.list=localhost:9092
>
> # name of the partitioner class for partitioning events; default partition
> spreads data randomly
> #partitioner.class=
>
> # specifies whether the messages are sent asynchronously (async) or
> synchronously (sync)
> producer.type=sync
>
> # specify the compression codec for all data generated: none, gzip, snappy,
> lz4.
> # the old config values work as well: 0, 1, 2, 3 for none, gzip, snappy,
> lz4, respectively
> compression.codec=none
>
> # message encoder
> serializer.class=kafka.serializer.DefaultEncoder
>
> # allow topic level compression
> #compressed.topics=
>
> # Async Producer #
> # maximum time, in milliseconds, for buffering data on the producer queue
> #queue.buffering.max.ms=
>
> # the maximum size of the blocking queue for buffering on the producer
> #queue.buffering.max.messages=
>
> # Timeout for event enqueue:
> # 0: events will be enqueued immediately or dropped if the queue is full
> # -ve: enqueue will block indefinitely if the queue is full
> # +ve: enqueue will block up to this many milliseconds if the queue is full
> #queue.enqueue.timeout.ms=
>
> # the number of messages batched at the producer
> #batch.num.messages=
>
>
>
> @Jinxing
>
> I have not found the kafka 0.8.3.0 on
> http://mvnrepository.com/artifact/org.apache.kafka/kafka_2.10.
> The latest release is 0.8.2.2.
> if we flush producer all the times,  I think it will impact our
> performance.
> I just want to make sure how many messages in producer, then can be found
> it in consumer as well.
> We can not lost so many messages in our system.
>
>
>
> Best regards
> Hawin
>
>
> On Thu, Nov 12, 2015 at 7:02 AM, jinxing  wrote:
>
> > i have 3 brokers;
> > the ack configuration is -1(all), meaning a message is sent successfully
> > only after getting every broker's  ack;
> > is this a bug?
> >
> >
> >
> >
> >
> >
> >
> > At 2015-11-12 21:08:49, "Pradeep Gollakota" 
> wrote:
> > >What is your producer configuration? Specifically, how many acks are you
> > >requesting from Kafka?
> > >
> > >On Thu, Nov 12, 2015 at 2:03 AM, jinxing  wrote:
> > >
> > >> in kafka_0.8.3.0:
> > >> kafkaProducer = new KafkaProducer<>(properties, new
> > ByteArraySerializer(),
> > >> new ByteArraySerializer());
> > >> kafkaProducer.flush();
> > >> you can call the flush after sending every few messages;
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>
> > >> At 2015-11-12 17:36:24, "Hawin Jiang"  wrote:
> > >> >Hi  Prabhjot
> > >> >
> > >> >The messages are "Thread1_kafka_1" and "Thread2_kafka_1". Something
> > like
> > >> >that.
> > >> >
> > >> >For GetOffsetShell report below:
> > >> >
> > >> >[kafka@dn-01 bin]$ ./kafka-run-class.sh kafka.tools.GetOffsetShell
> > >> >--broker-list dn-01:9092 --time -1 --topic kafka-test
> > >> >kafka-test:0:12529261
> > >> >
> > >> >
> > >> >
> > >> >
> > >> >@Jinxing
> > >> >
> > >> >Can you share your flush example to me?  How to avoid lost my
> messages?
> > >> >Thanks.
> > >> >
> > >> >
> > >> >
> > >> >Best regards
> > >> >Hawin
> > >> >
> > >> >
> > >> >
> > >> >On Thu, Nov 12, 2015 at 1:00 AM, jinxing 
> wrote:
> > >> >
> > >> >> there is a flush api of the producer, you can call this to prevent
> > >> >> messages lost;
> > >> >>
> > >> >>
> > >> >> maybe it can help;
> > >> >>
> > >> >>
> > >> >>
> > >> >>
> > >> >>
> > >> >>
> > >> >>
> > >> >>
> > >> >> At 2015-11-12 16:43:54, "Hawin Jiang" 
> wrote:
> > >> >> >Hi  Jinxing
> > >> >> >
> > >> >> >I don't think we can resolve this issue by increasing producers.
> > if I
> > >> >> >increased more producers, it should lost more messages.
> > >> >> >
> > >> >> >I just test two producers.
> > >> >> >Thread Producer 1 has 83064 messages in producer side and 82273
> > >> messages
> > >> >> in
> > >> >> >consumer side
> > >> >> >Thread Producer 2 has 89844 messages in producer side and 88892
> > >> messages
> > >> >> in
> > >> >> >consumer side.
> > >> >> >
> > >> >> >Thanks.
> > >> >> >
> 

Re: Re: Re: Re: Re: Kafka lost data issue

2015-11-12 Thread Hawin Jiang
Hi  Pradeep

Here is my configuration

# Producer Basics #

# list of brokers used for bootstrapping knowledge about the rest of the
cluster
# format: host1:port1,host2:port2 ...
metadata.broker.list=localhost:9092

# name of the partitioner class for partitioning events; default partition
spreads data randomly
#partitioner.class=

# specifies whether the messages are sent asynchronously (async) or
synchronously (sync)
producer.type=sync

# specify the compression codec for all data generated: none, gzip, snappy,
lz4.
# the old config values work as well: 0, 1, 2, 3 for none, gzip, snappy,
lz4, respectively
compression.codec=none

# message encoder
serializer.class=kafka.serializer.DefaultEncoder

# allow topic level compression
#compressed.topics=

# Async Producer #
# maximum time, in milliseconds, for buffering data on the producer queue
#queue.buffering.max.ms=

# the maximum size of the blocking queue for buffering on the producer
#queue.buffering.max.messages=

# Timeout for event enqueue:
# 0: events will be enqueued immediately or dropped if the queue is full
# -ve: enqueue will block indefinitely if the queue is full
# +ve: enqueue will block up to this many milliseconds if the queue is full
#queue.enqueue.timeout.ms=

# the number of messages batched at the producer
#batch.num.messages=



@Jinxing

I have not found the kafka 0.8.3.0 on
http://mvnrepository.com/artifact/org.apache.kafka/kafka_2.10.
The latest release is 0.8.2.2.
if we flush producer all the times,  I think it will impact our
performance.
I just want to make sure how many messages in producer, then can be found
it in consumer as well.
We can not lost so many messages in our system.



Best regards
Hawin


On Thu, Nov 12, 2015 at 7:02 AM, jinxing  wrote:

> i have 3 brokers;
> the ack configuration is -1(all), meaning a message is sent successfully
> only after getting every broker's  ack;
> is this a bug?
>
>
>
>
>
>
>
> At 2015-11-12 21:08:49, "Pradeep Gollakota"  wrote:
> >What is your producer configuration? Specifically, how many acks are you
> >requesting from Kafka?
> >
> >On Thu, Nov 12, 2015 at 2:03 AM, jinxing  wrote:
> >
> >> in kafka_0.8.3.0:
> >> kafkaProducer = new KafkaProducer<>(properties, new
> ByteArraySerializer(),
> >> new ByteArraySerializer());
> >> kafkaProducer.flush();
> >> you can call the flush after sending every few messages;
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> At 2015-11-12 17:36:24, "Hawin Jiang"  wrote:
> >> >Hi  Prabhjot
> >> >
> >> >The messages are "Thread1_kafka_1" and "Thread2_kafka_1". Something
> like
> >> >that.
> >> >
> >> >For GetOffsetShell report below:
> >> >
> >> >[kafka@dn-01 bin]$ ./kafka-run-class.sh kafka.tools.GetOffsetShell
> >> >--broker-list dn-01:9092 --time -1 --topic kafka-test
> >> >kafka-test:0:12529261
> >> >
> >> >
> >> >
> >> >
> >> >@Jinxing
> >> >
> >> >Can you share your flush example to me?  How to avoid lost my messages?
> >> >Thanks.
> >> >
> >> >
> >> >
> >> >Best regards
> >> >Hawin
> >> >
> >> >
> >> >
> >> >On Thu, Nov 12, 2015 at 1:00 AM, jinxing  wrote:
> >> >
> >> >> there is a flush api of the producer, you can call this to prevent
> >> >> messages lost;
> >> >>
> >> >>
> >> >> maybe it can help;
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >> At 2015-11-12 16:43:54, "Hawin Jiang"  wrote:
> >> >> >Hi  Jinxing
> >> >> >
> >> >> >I don't think we can resolve this issue by increasing producers.
> if I
> >> >> >increased more producers, it should lost more messages.
> >> >> >
> >> >> >I just test two producers.
> >> >> >Thread Producer 1 has 83064 messages in producer side and 82273
> >> messages
> >> >> in
> >> >> >consumer side
> >> >> >Thread Producer 2 has 89844 messages in producer side and 88892
> >> messages
> >> >> in
> >> >> >consumer side.
> >> >> >
> >> >> >Thanks.
> >> >> >
> >> >> >
> >> >> >
> >> >> >Best regards
> >> >> >Hawin
> >> >> >
> >> >> >
> >> >> >On Thu, Nov 12, 2015 at 12:24 AM, jinxing 
> wrote:
> >> >> >
> >> >> >> maybe there some changes in 0.9.0.0;
> >> >> >>
> >> >> >>
> >> >> >> but still you can try increase producer sending rate, and see if
> >> there
> >> >> are
> >> >> >> message lost but no exception;
> >> >> >>
> >> >> >>
> >> >> >> note that, to increase the producer sending rate, you must have
> >> enough
> >> >> >> producer 'power';
> >> >> >>
> >> >> >>
> >> >> >> in my case,  I have 50 producer sending message at the same time
> : )
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >> At 2015-11-12 16:16:23, "Hawin Jiang" 
> wrote:
> >> >> >> >Hi  Jinxing
> >> >> >> >
> >> >> >> >I am using kafka_2.10-0.9.0.0-SNAPSHOT.  I have downloaded source
> >> code
> >> >> and
> >> >>