If a consumer comes from a new consumer group, it will by default consume
from the log end.
In you first scenario, because you started consumer after producing data,
when the consumer starts it will consume from the latest. So you will not
be able to see the messages even though they are in the broker.
In your second scenario, because consumer will commit the offsets
periodically and during rebalance. The first run of consumer will commit
offset to be 0. 
Then you produced some data and run the second consumer. Because the
second run of consumer uses the same consumer group, it will pick up the
committed offset and consume from 0. In this case you will see the
produced messages. If you use a different consumer group in your second
run of consumer, you will not be able to see the messages because the
offset will be reset to latest like in the first scenario.

-Jiangjie Qin

On 2/24/15, 1:56 PM, "Yang" <teddyyyy...@gmail.com> wrote:

>somehow I have to let the consumer run once BEFORE the messages are
>produced. then run consumer after messages are produced, then it works:
>
>
>export topic=ttnew21
>  sudo -u kafka bin/kafka-topics.sh  --zookeeper localhost:7181 --create
>--topic $topic  --partitions 1 --replication-factor 1
>echo "first try"
>  sudo -u kafka bin/kafka-console-consumer.sh --zookeeper localhost:7181
>--consumer-timeout-ms 1000 --topic $topic -group fffffxx
>  echo 'asdfasdfsadffadsfasf' | sudo -u kafka
>bin/kafka-console-producer.sh
>--broker-list  localhost:9092 --topic  $topic
>echo "second try"
>  sudo -u kafka bin/kafka-console-consumer.sh --zookeeper localhost:7181
>--consumer-timeout-ms 1000 --topic $topic -group fffffxx
>
>
>the first try doesn't read anything out (of course) ; the second one
>works.
>but if I remove the first try, the remaining consumer can't read anything
>either.
>
>
>
>looks like a bug?
>
>On Tue, Feb 24, 2015 at 1:51 PM, Yang <teddyyyy...@gmail.com> wrote:
>
>> in the following code, I just create a new topic, send some messages
>>onto
>> the new topic with console producer, then read it with console consumer.
>> but after the 3rd line, nothing is printed out.
>>
>>
>>
>> export topic=ttnew2
>>   sudo -u kafka bin/kafka-topics.sh  --zookeeper localhost:7181 --create
>> --topic $topic  --partitions 1 --replication-factor 1
>>   echo 'asdfasdfsadffadsfasf' | sudo -u kafka
>> bin/kafka-console-producer.sh --broker-list  localhost:9092 --topic
>>$topic
>>   sudo -u kafka bin/kafka-console-consumer.sh --zookeeper localhost:7181
>> --topic $topic -group fffff
>>
>>
>> shouldn't I expect the consumer on the 3rd line to read out the
>>messages?
>> in fact if I give it --from-beginning,  it works fine
>>
>>
>>
>> this is kafka_2.9.2-0.8.1.1
>>
>>
>> Thanks
>> Yang
>>

Reply via email to