fullstorydev / fullstorydev/grpcurl
v1.9.4 times out instead of reporting "connection refused"
- 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