linkedin / linkedin/Burrow

Quietly not launching HTTP endpoint?

Open
#550 0 comments 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

I'm suspecting that HTTP endpoint is quietly not being launched, without error warnings, possibly hanging somewhere for given configurations.

burrow.toml

```
[general]
pidfile="burrow.pid"

[logging]
level="info"
maxsize=100
maxbackups=30
maxage=10
use-localtime=false
use-compression=true

[zookeeper]
servers=[ ":2181" ]
timeout=6

[client-profile.test]
client-id="burrow-test"
kafka-version="0.10.0"
sasl="mysaslprofile"

[sasl.mysaslprofile]
username=""
password=""
handshake-first=true

[cluster.myclustername]
class-name="kafka"
servers=[ ":9093" ]
client-profile="test"

[httpserver.default]
address=":8000"

[storage.mystorage]
class-name="inmemory"
workers=20
intervals=15
expire-group=604800
min-distance=1
```
It *seems* like it launches without issue, stdout:

```
~/go/src/github.com/linkedin $ $GOPATH/bin/Burrow --config-dir ./Burrow/config
Reading configuration from ./Burrow/config
{"level":"info","ts":1563997959.8608692,"msg":"Started Burrow"}
{"level":"info","ts":1563997959.8609438,"msg":"configuring","type":"coordinator","name":"zookeeper"}
{"level":"info","ts":1563997959.861918,"msg":"configuring","type":"coordinator","name":"storage"}
{"level":"info","ts":1563997959.861952,"msg":"configuring","type":"module","coordinator":"storage","class":"inmemory","name":"mystorage"}
{"level":"info","ts":1563997959.862017,"msg":"configuring","type":"coordinator","name":"evaluator"}
{"level":"info","ts":1563997959.862039,"msg":"configuring","type":"module","coordinator":"evaluator","class":"caching","name":"default"}
{"level":"info","ts":1563997959.8620641,"msg":"configuring","type":"coordinator","name":"httpserver"}
{"level":"info","ts":1563997959.862123,"msg":"configuring","type":"coordinator","name":"notifier"}
{"level":"info","ts":1563997959.862133,"msg":"configuring","type":"coordinator","name":"cluster"}
{"level":"info","ts":1563997959.862148,"msg":"configuring","type":"module","coordinator":"cluster","class":"kafka","name":"myclustername"}
{"level":"info","ts":1563997959.8623722,"msg":"configuring","type":"coordinator","name":"consumer"}
{"level":"info","ts":1563997959.862384,"msg":"starting","type":"coordinator","name":"zookeeper"}
{"level":"info","ts":1563997960.5813189,"msg":"Connected to ","type":"coordinator","name":"zookeeper"}
{"level":"info","ts":1563997960.6514409,"msg":"Authenticated: id=72057596575088678, timeout=6000","type":"coordinator","name":"zookeeper"}
{"level":"info","ts":1563997960.651575,"msg":"Re-submitting `0` credentials after reconnect","type":"coordinator","name":"zookeeper"}
{"level":"info","ts":1563997960.6927612,"msg":"starting","type":"coordinator","name":"storage"}
{"level":"info","ts":1563997960.692883,"msg":"starting","type":"module","coordinator":"storage","class":"inmemory","name":"mystorage"}
{"level":"info","ts":1563997960.693038,"msg":"starting","type":"coordinator","name":"evaluator"}
{"level":"info","ts":1563997960.693064,"msg":"starting","type":"module","coordinator":"evaluator","class":"caching","name":"default"}
{"level":"info","ts":1563997960.693193,"msg":"starting","type":"coordinator","name":"httpserver"}
{"level":"info","ts":1563997960.6936588,"msg":"started listener","type":"coordinator","name":"httpserver","listener":"[::]:8000"}
{"level":"info","ts":1563997960.693727,"msg":"starting","type":"coordinator","name":"notifier"}
{"level":"info","ts":1563997960.6937861,"msg":"starting","type":"coordinator","name":"cluster"}
{"level":"info","ts":1563997960.6938088,"msg":"starting","type":"module","coordinator":"cluster","class":"kafka","name":"myclustername"}
{"level":"info","ts":1563997960.87871,"msg":"starting evaluations","type":"coordinator","name":"notifier"}
{"level":"info","ts":1563997962.428315,"msg":"starting","type":"coordinator","name":"consumer"}

```
It hangs here, which I interpret to mean that it's launched.

But all HTTP requests seem to indicate port 8000 was never opened, returning "ERR_CONNECTION_REFUSED"

`GET http://:8000/burrow/admin` is refused, with and without passing the following headers.

```
Content-Type: application/json
Authorization: Basic

```

Am I missing an indication of error, or just possibly overlooking another key requirement?

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 launch with the supplied burrow.toml configuration and checking whether the HTTP listener on :8000 is reachable from the requested host. Review the startup log around the httpserver and consumer coordinators, then verify the /burrow/admin request path. Done means the configured endpoint accepts an HTTP request rather than returning connection refused.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kafka
Domain
api, backend, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.