linkedin / linkedin/Burrow

Discover new __consumer_offsets partitions

Open
#326 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
4k
Forks
818
Avg merge
1h 14m
Merged PRs (30d)
1

Description

Perhaps an unlikely use case, but I made the mistake of starting Burrow before running any consumers during some local testing in a small docker-compose environment & lost a lot of time trying to figure out why Burrow wasn't discovering new consumer groups. I _think_ it boils down to this log message:

```
{"level":"info","ts":1516057630.5676234,"msg":"starting consumers","type":"module","coordinator":"consumer","class":"kafka","name":"eventbus","topic":"__consumer_offsets","count":0}
```

Notice the `count` field, which is zero because the __consumer_offsets topic does not exist at the time Burrow starts. After running a consumer to force creation of `__consumer_offsets` & restarting Burrow, it starts detecting new consumer groups as expected. Again, the hint is in the log message:

```
{"level":"info","ts":1516057932.7690308,"msg":"starting consumers","type":"module","coordinator":"consumer","class":"kafka","name":"eventbus","topic":"__consumer_offsets","count":50}
```

I sort of half suspect Burrow might also silently ignore new `__consumer_offsets` partitions even if the topic exists, but but haven't had a chance to check.

Would be nice if we could either flame out hard if no `__consumer_offsets` topic is present or (perhaps ideally) automatically discover any changes to `__consumer_offsets`.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing Burrow startup before Kafka creates the __consumer_offsets topic, using the logged “starting consumers” path as the entry point. Check whether newly created or added __consumer_offsets partitions are discovered after startup; done means Burrow either reliably detects them or clearly fails when the topic is absent.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.