When Kafka messages are produced but not consumed, the right first question is not “should I reset offsets?” It is “is this consumer group actually assigned, polling, and advancing offsets the way I expect?” Teams often jump to offsets because it feels concrete, but many incidents are really about assignment, poll loops, or rebalance churn.
This guide starts with the fastest checks first: confirm the group is healthy, confirm consumers are assigned partitions, and confirm the consumer loop is actively polling instead of appearing alive while doing no useful work.
Check whether the consumer group is actually working
At a practical level, messages not consumed often means one of these:
- no consumer is assigned the partition
- the consumer group is unstable
- the consumer is alive but not polling
- offsets are not where you think they are
That means group state is a better first check than application logs alone.
Confirm partition assignment
Kafka consumers do useful work only after they are assigned partitions.
If messages are being produced but the consumer sees nothing, ask:
- is the topic correct?
- does the group have active members?
- are partitions assigned to those members?
- is one consumer idle because another member owns the relevant partition?
Without partition assignment, the consumer can look healthy while doing nothing.
Check poll behavior before offset logic
Kafka consumer configs make poll() behavior central to the consumer lifecycle.
That means a stuck consumer often falls into one of these patterns:
- it joins the group but stops polling
- it polls too slowly and rebalances
- it spends too much time in downstream processing
- it fails before commits or offset progress
If the group looks unstable, the follow-up guide on Kafka Consumer Lag Increasing is the next place to look.
If the broader pattern looks like queue backlog rather than partition assignment trouble, RabbitMQ Consumers Not Receiving Messages is a useful cross-broker comparison.
Offsets can explain not consumed without proving the app is healthy
Offsets matter, but they are not the whole story.
Common cases:
- the consumer is already past the records you expected to see
auto.offset.resetbehavior does not match your assumption- another consumer group is reading the topic, but this one is not
- the app commits offsets after partial work and the records are no longer re-read
That is why messages exist and this consumer will read them now are not the same statement.
Common causes
1. No partition assignment
The consumer group is empty, unstable, or assigned elsewhere.
2. Poll loop is not advancing
The process is running but not behaving like an active consumer.
3. Offset expectations are wrong
The group is at a different position than the operator expects.
4. Rebalances keep interrupting progress
The consumer repeatedly restarts useful work.
A practical debugging order
- confirm the topic is receiving records
- inspect consumer group membership and assignment
- inspect whether the consumer loop is polling
- inspect offset position and commit behavior
- inspect rebalance frequency and processing latency
That order usually explains the problem faster than jumping straight to offset resets.
A quick branch that saves time
Use this shortcut when producers are active but one group sees nothing:
- no members or no assignment: start with group state
- members exist but offsets do not move: start with poll behavior
- offsets are already advanced: start with offset expectations
- assignment repeatedly changes: start with rebalance churn
That branch is usually safer than treating every incident like an offset reset problem.
Symptom shortcut
- Start here if producers are writing but this consumer group does not seem to consume anything.
- If consumers do make progress but lag keeps rising, the lag guide is the better first stop.
Quick commands
kafka-consumer-groups.sh --bootstrap-server <broker:9092> --group <group> --describe
kafka-consumer-groups.sh --bootstrap-server <broker:9092> --list
kafka-topics.sh --bootstrap-server <broker:9092> --describe --topic <topic>
Use these to confirm the group exists, partitions are assigned, and offsets are actually moving on the topic you expect.
Look for empty groups, no partition assignment, and current offsets that never advance even while producers keep writing.
FAQ
Q. If producers are working, why can consumers still see nothing?
Because topic production, group assignment, and offset position are separate parts of the flow.
Q. Should I reset offsets first?
Only after you know whether the group state and partition assignment are already correct.
Q. What should I check first?
Check group membership, partition assignment, poll behavior, and current offset position.
Read Next
- If the consumer is active but still falling behind, open Kafka Consumer Lag Increasing next.
- If group churn is interrupting assignment and progress, open Kafka Rebalancing Too Often next.
- If the consumer looks alive but keeps falling out of the group, open Kafka max.poll.interval.ms Troubleshooting next.
- If you want to compare the same backlog problem in another broker, read RabbitMQ Consumers Not Receiving Messages.
Related Posts
- Kafka Consumer Lag Increasing
- Kafka Rebalancing Too Often
- Kafka max.poll.interval.ms Troubleshooting
- RabbitMQ Consumers Not Receiving Messages
Sources:
- https://kafka.apache.org/40/configuration/consumer-configs/
- https://kafka.apache.org/42/operations/
- https://kafka.apache.org/36/operations/monitoring/
While AdSense review is pending, related guides are shown instead of ads.
Start Here
Continue with the core guides that pull steady search traffic.
- Middleware Troubleshooting Guide: Redis vs RabbitMQ vs Kafka A practical middleware troubleshooting guide for developers covering when to reach for Redis, RabbitMQ, or Kafka symptoms first, and which problem patterns usually belong to each tool.
- Kubernetes CrashLoopBackOff: What to Check First A practical Kubernetes CrashLoopBackOff troubleshooting guide covering startup failures, probe issues, config mistakes, and what to inspect first.
- Kafka Consumer Lag Increasing: Troubleshooting Guide A practical Kafka consumer lag troubleshooting guide covering what lag usually means, which consumer metrics to check first, and how poll timing, processing speed, and fetch patterns affect lag.
- Kafka Rebalancing Too Often: Common Causes and Fixes A practical Kafka troubleshooting guide covering why consumer groups rebalance too often, what poll timing and group protocol settings matter, and how to stop rebalances from interrupting useful work.
- Docker Container Keeps Restarting: What to Check First A practical Docker restart-loop troubleshooting guide covering exit codes, command failures, environment mistakes, health checks, and what to inspect first.
While AdSense review is pending, related guides are shown instead of ads.