open-consul/command/connect
Daniel Nephin 0a39ba2c54 envoy: fix bootstrap deadlock caused by a full named pipe
Normally the named pipe would buffer up to 64k, but in some cases when a
soft limit is reached, they will start only buffering up to 4k.
In either case, we should not deadlock.

This commit changes the pipe-bootstrap command to first buffer all of
stdin into the process, before trying to write it to the named pipe.
This allows the process memory to act as the buffer, instead of the
named pipe.

Also changed the order of operations in `makeBootstrapPipe`. The new
test added in this PR showed that simply buffering in the process memory
was not enough to fix the issue. We also need to ensure that the
`pipe-bootstrap` process is started before we try to write to its
stdin. Otherwise the write will still block.

Also set stdout/stderr on the subprocess, so that any errors are visible
to the user.
2021-05-31 18:53:17 -04:00
..
ca connect/ca: Allow ForceWithoutCrossSigning for all providers 2021-01-29 13:38:11 -08:00
envoy envoy: fix bootstrap deadlock caused by a full named pipe 2021-05-31 18:53:17 -04:00
expose testing: skip slow tests with -short 2020-12-07 13:42:55 -05:00
proxy Continue working through proxy and agent 2021-05-04 12:41:43 -07:00
redirecttraffic redirecttraffic: fix a flaky test 2021-05-18 12:36:46 -04:00
connect.go Original proxy and connect.Client implementation. Working end to end. 2018-06-14 09:41:56 -07:00
connect_test.go Builtin tls helper (#5078) 2018-12-19 09:22:49 +01:00