Quietly not launching HTTP endpoint?
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
- 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 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