open-nomad/drivers
Michael Schurter df3467a6ce docker: fix send after close panic in stats
destCh was being written to by one goroutine and closed by another
goroutine. This panic occurred in Travis:

```
=== FAIL: drivers/docker TestDockerCoordinator_ConcurrentPulls (117.66s)
=== PAUSE TestDockerCoordinator_ConcurrentPulls
=== CONT  TestDockerCoordinator_ConcurrentPulls

panic: send on closed channel

goroutine 5358 [running]:
github.com/hashicorp/nomad/drivers/docker.dockerStatsCollector(0xc0003a4a20, 0xc0003a49c0, 0x3b9aca00)
	/home/travis/gopath/src/github.com/hashicorp/nomad/drivers/docker/stats.go:108 +0x167

created by
github.com/hashicorp/nomad/drivers/docker.TestDriver_DockerStatsCollector
	/home/travis/gopath/src/github.com/hashicorp/nomad/drivers/docker/stats_test.go:33 +0x1ab
```

The 2 ways to fix this kind of error are to either (1) add extra
coordination around multiple goroutines writing to a chan or (2) make it
so only one goroutines writes to a chan.

I implemented (2) first as it's simpler, but @notnoop pointed out since
the same destCh in reused in the stats loop there's now a double close
panic possible!

So this implements (1) by adding a *usageSender struct for handling
concurrent senders and closing.
2019-04-02 08:28:08 -07:00
..
docker docker: fix send after close panic in stats 2019-04-02 08:28:08 -07:00
exec clarify unknown signal log line (#5466) 2019-03-25 17:19:43 -04:00
java clarify unknown signal log line (#5466) 2019-03-25 17:19:43 -04:00
mock rename fifo methods for clarity 2019-04-01 16:52:58 -04:00
qemu Merge pull request #5341 from hashicorp/ci-windows-docker 2019-02-21 13:17:33 -05:00
rawexec clarify unknown signal log line (#5466) 2019-03-25 17:19:43 -04:00
rkt clarify unknown signal log line (#5466) 2019-03-25 17:19:43 -04:00
shared comment configureTLogging 2019-04-01 16:52:58 -04:00