What's Actually Happening
Apache Pulsar consumer does not receive messages. Messages are produced but not consumed.
The Error You'll See
# Consumer connected but no messages received
consumer.receive() # Blocks indefinitelyWhy This Happens
- 1.Wrong subscription type
- 2.Messages already acknowledged
- 3.Cursor position issue
- 4.Broker not reachable
- 5.Topic not found
Step 1: Check Topic Stats
pulsar-admin topics stats persistent://public/default/my-topic
pulsar-admin topics list public/defaultStep 2: Check Subscription
pulsar-admin topics subscriptions persistent://public/default/my-topic
pulsar-admin topics stats persistent://public/default/my-topic | grep subscriptionsStep 3: Check Consumer Connection
pulsar-admin topics stats persistent://public/default/my-topic | grep consumersStep 4: Check Message Backlog
pulsar-admin topics stats persistent://public/default/my-topic | grep backlogStep 5: Reset Cursor
pulsar-admin topics reset-cursor persistent://public/default/my-topic -s my-subscription -t nowStep 6: Check Broker Status
pulsar-admin brokers list
pulsar-admin brokers healthcheckStep 7: Check Logs
tail -f /var/log/pulsar/broker.logStep 8: Unsubscribe and Resubscribe
pulsar-admin topics unsubscribe persistent://public/default/my-topic -s my-subscriptionStep 9: Check Network
nc -zv pulsar-broker 6650
nc -zv pulsar-broker 8080Step 10: Test with CLI
pulsar-client consume persistent://public/default/my-topic -s test-sub -n 0Related Issues
- [Fix Pulsar Broker Out of Memory](/articles/fix-pulsar-broker-out-of-memory)
- [Fix Kafka Producer Retries Exceeded](/articles/fix-kafka-producer-retries-exceeded)