Skip to content

Multiple consumers with same group id get same message #112

Closed
@dfdx

Description

@dfdx

Kafka manual says that each message is delivered exactly to one consumer from a group (with a same group id). And this is what I see with Java high-level API and expected to see with Python's SimpleConsumer. However, when I run 2 consumers simultaneously (see code below) and send new message, both instances of consumer receive it.


# consumer.py
from kafka.client import KafkaClient
from kafka.consumer import SimpleConsumer

kafka = KafkaClient("broker", 9092)
consumer = SimpleConsumer(kafka, "my-group", "my-topic",
                          auto_commit=False)
while True:
    msg = consumer.get_message()
    if msg:
        print(msg)
    else:
        print('no new messages')
kafka.close()

# producer.py
from kafka.client import KafkaClient
from kafka.producer import SimpleProducer

kafka = KafkaClient("broker", 9092)

producer = SimpleProducer(kafka, "my-topic")
producer.send_messages("my message")

kafka.close()

Note, that auto_commit in consumer is set to False to overcome problem with Kafka 0.8.1 and current version of kafka-python, but changing it to True only adds exceptions and doesn't fix consumption problem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions