fullstorydev / fullstorydev/grpcurl

v1.9.4 times out instead of reporting "connection refused"

Open
#581 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
12.8k
Forks
580
Avg merge
1h 8m
Merged PRs (30d)
5

Description

As I understand https://github.com/fullstorydev/grpcurl/commit/4ea1554ec7da978bc64ccd534984409cedcea42a, it should do the exact opposite of the behavior change I am seeing:

the old version fails instantly

```
$ time go run github.com/fullstorydev/grpcurl/cmd/grpcurl@v1.9.3 localhost:50052 list
Failed to dial target host "localhost:50052": connection error: desc = "transport: error while dialing: dial tcp [::1]:50052: connect: connection refused"
exit status 1
go run github.com/fullstorydev/grpcurl/cmd/grpcurl@v1.9.3 localhost:50052 lis 0,23s user 0,40s system 117% cpu 0,535 total
```

the new version times out

```
$ time go run github.com/fullstorydev/grpcurl/cmd/grpcurl@v1.9.4 localhost:50052 list
Failed to dial target host "localhost:50052": context deadline exceeded
exit status 1
go run github.com/fullstorydev/grpcurl/cmd/grpcurl@v1.9.4 localhost:50052 lis 0,30s user 0,59s system 7% cpu 11,192 total
```

This reproduction was done on macOS, but I noticed the same behavior on Linux (Docker for Mac)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the localhost:50052 command with grpcurl v1.9.3 and v1.9.4, using the cmd/grpcurl entry point. Compare the behavior around commit 4ea1554ec7da978bc64ccd534984409cedcea42a. Done means an unavailable local target reports connection refused promptly rather than timing out, on the affected platforms.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli, networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
63/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.