Hi Arthur,

I'm running into a very similar issue even with the latest version ( 
kafka-python @ V. 0.8.1_1 used with kafka_2.8.0-0.8.0.tar.gz). I have created a 
topic 'my-topic' with two partitions and 1-replication (across a set of 3 kafka 
brokers). I've published 100 messages to the topic (see Reference below). Now 
each time when I run the following consumer test

----------------------8<------------------------------------------
import logging
import time
from kafka.client import KafkaClient
from kafka.consumer import SimpleConsumer
from kafka.producer import SimpleProducer, KeyedProducer

kafka = KafkaClient("kafkabroker2", 9092)

consumer = SimpleConsumer(kafka, "my-group", "my-topic", auto_commit=True, 
auto_commit_every_n=10)

for message in consumer:
    time.sleep(1)
    print(message)
----------------------8<------------------------------------------

I get back all the 100 messages. You mentioned that with kafka 0.8 there will 
be an offset stored in zookeeper (via broker) which will prevent consumers from 
getting older messages. I'm curious how to use this feature. I also want to run 
multiple consumers (on different machines) with exactly the same test code as 
above and get only one message delivered to only one of the consumers in 
"my-group" (multiple consumers per queue behavior).

Thanks,
jsh

REFERENCE:

I've used following code to publish messages
---------------------8<-------------------------------
rom kafka.client import KafkaClient
from kafka.consumer import SimpleConsumer
from kafka.producer import SimpleProducer, KeyedProducer

kafka = KafkaClient("kafkabroker2", 9092)

producer = SimpleProducer(kafka, "my-topic")
for i in range(0,100):
    producer.send_messages("some message {0}".format(i))
---------------------8<-------------------------------                          
          

Reply via email to