linkedin / linkedin/Burrow

panic: runtime error: index out of range

Open
#698 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

We are trying to run burrow for one of our test cluster but ended up with the below error
```
Reading configuration from /etc/burrow
{"level":"info","ts":1619543232.6165488,"msg":"Started Burrow"}
{"level":"info","ts":1619543232.6166623,"msg":"configuring","type":"coordinator","name":"zookeeper"}
{"level":"info","ts":1619543232.617059,"msg":"configuring","type":"coordinator","name":"storage"}
{"level":"info","ts":1619543232.6171033,"msg":"configuring","type":"module","coordinator":"storage","class":"inmemory","name":"default"}
{"level":"info","ts":1619543232.6172295,"msg":"configuring","type":"coordinator","name":"evaluator"}
{"level":"info","ts":1619543232.6172628,"msg":"configuring","type":"module","coordinator":"evaluator","class":"caching","name":"default"}
{"level":"info","ts":1619543232.6173084,"msg":"configuring","type":"coordinator","name":"httpserver"}
{"level":"info","ts":1619543232.617424,"msg":"configuring","type":"coordinator","name":"notifier"}
{"level":"info","ts":1619543232.6174593,"msg":"configuring","type":"coordinator","name":"cluster"}
{"level":"info","ts":1619543232.617493,"msg":"configuring","type":"module","coordinator":"cluster","class":"kafka","name":"ost-ttce-test-ole"}
{"level":"info","ts":1619543232.617794,"msg":"configuring","type":"coordinator","name":"consumer"}
{"level":"info","ts":1619543232.6178439,"msg":"configuring","type":"module","coordinator":"consumer","class":"kafka","name":"ost-ttce-test-ole"}
{"level":"info","ts":1619543232.6181514,"msg":"starting","type":"coordinator","name":"zookeeper"}
{"level":"info","ts":1619543232.6315393,"msg":"Connected to 10.57.152.27:2181","type":"coordinator","name":"zookeeper"}
{"level":"info","ts":1619543232.636245,"msg":"Authenticated: id=5620541488645823474, timeout=12000","type":"coordinator","name":"zookeeper"}
{"level":"info","ts":1619543232.6362965,"msg":"Re-submitting `0` credentials after reconnect","type":"coordinator","name":"zookeeper"}
{"level":"info","ts":1619543232.6401088,"msg":"starting","type":"coordinator","name":"storage"}
{"level":"info","ts":1619543232.640142,"msg":"starting","type":"module","coordinator":"storage","class":"inmemory","name":"default"}
{"level":"info","ts":1619543232.6402085,"msg":"starting","type":"coordinator","name":"evaluator"}
{"level":"info","ts":1619543232.6402225,"msg":"starting","type":"module","coordinator":"evaluator","class":"caching","name":"default"}
{"level":"info","ts":1619543232.6402314,"msg":"starting","type":"coordinator","name":"httpserver"}
{"level":"info","ts":1619543232.6412015,"msg":"started listener","type":"coordinator","name":"httpserver","listener":"[::]:8000"}
{"level":"info","ts":1619543232.6412935,"msg":"starting","type":"coordinator","name":"notifier"}
{"level":"info","ts":1619543232.641335,"msg":"starting","type":"coordinator","name":"cluster"}
{"level":"info","ts":1619543232.6413436,"msg":"starting","type":"module","coordinator":"cluster","class":"kafka","name":"ost-ttce-test-ole"}
{"level":"info","ts":1619543232.7472012,"msg":"starting evaluations","type":"coordinator","name":"notifier"}
panic: runtime error: index out of range

goroutine 117 [running]:
github.com/linkedin/Burrow/core/internal/storage.(*InMemoryStorage).addBrokerOffset(0xc0001fe1e0, 0xc000e75080, 0xc000e87620)
/go/src/github.com/linkedin/Burrow/core/internal/storage/inmemory.go:264 +0x573
github.com/linkedin/Burrow/core/internal/storage.(*InMemoryStorage).requestWorker(0xc0001fe1e0, 0x13, 0xc0001e5080)
/go/src/github.com/linkedin/Burrow/core/internal/storage/inmemory.go:202 +0x11d7
created by github.com/linkedin/Burrow/core/internal/storage.(*InMemoryStorage).Start
/go/src/github.com/linkedin/Burrow/core/internal/storage/inmemory.go:156 +0x289
```

Can you please let us know how to solve this issue

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 the startup failure with the configuration under /etc/burrow, then inspect core/internal/storage/inmemory.go at addBrokerOffset (line 264), requestWorker (line 202), and Start (line 156). Trace which broker offset data causes the index-out-of-range panic and verify that Burrow starts without this panic for the reported cluster configuration.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kafka
Domain
backend, distributed-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.