Detecting stopped low throughput (Kafka Streams) consumer in reasonable time
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 4k
- Forks
- 818
- Avg merge
- 1h 14m
- Merged PRs (30d)
- 1
Description
Detecting a stopped consumer that is not commiting regularly in a reasonable time is problematic. This is particularly problematic in Kafka Streams applications with low/spiky throughput input topics. Kafka Streams Applications do not allow configuring `enable.auto.commit` on the consumer to `true` in order to provide their transactional guarantees ([src](https://github.com/apache/kafka/blob/2.2.0/streams/src/main/java/org/apache/kafka/streams/StreamsConfig.java#L115-L118)). That means there is no trivial way to guarantee regular commit intervals apart from explicitly generating more events in the input topics (read keepalive).
This has already been discussed in #303 and there has been a fix for false positives but nothing addressing false negatives. A possible solution would be updating consumer lag status based on the broker offset instead of the consumer group offset would be really helpful in monitoring Streams applications.
Is there anything planned in this direction? Would a PR implementing this (behind a config toggle) potentially be merged or are there other suggestions how to fix this problem?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the discussion in #303 and the linked Kafka StreamsConfig source to understand the existing false-positive fix and commit constraints. The issue does not identify a Burrow file, test, or entry point; first clarify whether broker-offset lag detection is the accepted direction, then define the configuration toggle and how successful detection of stopped low-throughput consumers will be verified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kafka
- Domain
- observability, stream-processing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100