open-consul/command
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
..
acl
agent
catalog
config config-entry: use custom MarshalJSON for mesh type 2021-04-29 17:49:43 -04:00
connect envoy: fix bootstrap deadlock caused by a full named pipe 2021-05-31 18:53:17 -04:00
debug debug: remove the CLI check for debug_enabled (#10273) 2021-05-27 09:41:53 -04:00
event
exec
flags
forceleave
helpers
info
intention
join
keygen
keyring
kv
leave
lock
login Give descriptive error if auth method not found (#10163) 2021-05-03 13:39:13 -07:00
logout
maint
members
monitor
operator
reload
rtt
services Fixup tests 2021-04-13 16:08:41 -06:00
snapshot Fix panic bug in snapshot inspect (#10091) 2021-04-23 20:48:10 +01:00
tls introduce certopts (#9606) 2021-03-22 10:16:41 +01:00
validate
version
watch
commands_oss.go cli: Add new `consul connect redirect-traffic` command for applying traffic redirection rules when Transparent Proxy is enabled. (#9910) 2021-04-09 11:48:10 -07:00
registry.go