envoyproxy / envoy

Cloud-native high-performance edge/middle/service proxy
https://www.envoyproxy.io
Apache License 2.0
24.85k stars 4.78k forks source link

hot-restarter.py throws SIGCHLD #3164

Closed tak2siva closed 6 years ago

tak2siva commented 6 years ago

First start

root@b09d29ce90d1:/# ./hot-restarter.py start_envoy.sh &
[1] 12
root@b09d29ce90d1:/# starting hot-restarter with target: start_envoy.sh
forking and execing new child process at epoch 0
forked new child process with PID=13
[2018-04-23 14:34:11.929][13][info][main] source/server/server.cc:188] initializing epoch 0 (hot restart version=9.200.16384.127.options=capacity=16384, num_slots=8209 hash=228984379728933363)
[2018-04-23 14:34:11.929][13][info][main] source/server/server.cc:190] statically linked extensions:
[2018-04-23 14:34:11.929][13][info][main] source/server/server.cc:192]   access_loggers: envoy.file_access_log,envoy.http_grpc_access_log
[2018-04-23 14:34:11.929][13][info][main] source/server/server.cc:195]   filters.http: envoy.buffer,envoy.cors,envoy.ext_authz,envoy.fault,envoy.grpc_http1_bridge,envoy.grpc_json_transcoder,envoy.grpc_web,envoy.gzip,envoy.health_check,envoy.http_dynamo_filter,envoy.ip_tagging,envoy.lua,envoy.rate_limit,envoy.router,envoy.squash
[2018-04-23 14:34:11.929][13][info][main] source/server/server.cc:198]   filters.listener: envoy.listener.original_dst,envoy.listener.proxy_protocol
[2018-04-23 14:34:11.929][13][info][main] source/server/server.cc:201]   filters.network: envoy.client_ssl_auth,envoy.echo,envoy.ext_authz,envoy.http_connection_manager,envoy.mongo_proxy,envoy.ratelimit,envoy.redis_proxy,envoy.tcp_proxy
[2018-04-23 14:34:11.929][13][info][main] source/server/server.cc:203]   stat_sinks: envoy.dog_statsd,envoy.metrics_service,envoy.statsd
[2018-04-23 14:34:11.929][13][info][main] source/server/server.cc:205]   tracers: envoy.dynamic.ot,envoy.lightstep,envoy.zipkin
[2018-04-23 14:34:11.929][13][info][main] source/server/server.cc:208]   transport_sockets.downstream: raw_buffer,ssl
[2018-04-23 14:34:11.929][13][info][main] source/server/server.cc:211]   transport_sockets.upstream: raw_buffer,ssl
[2018-04-23 14:34:11.932][13][info][upstream] source/common/upstream/cluster_manager_impl.cc:131] cm init: all clusters initialized
[2018-04-23 14:34:11.932][13][info][config] source/server/configuration_impl.cc:52] loading 0 listener(s)
[2018-04-23 14:34:11.932][13][info][config] source/server/configuration_impl.cc:92] loading tracing configuration
[2018-04-23 14:34:11.932][13][info][config] source/server/configuration_impl.cc:114] loading stats sink configuration
[2018-04-23 14:34:11.932][13][info][main] source/server/server.cc:371] all clusters initialized. initializing init manager
[2018-04-23 14:34:11.933][13][info][config] source/server/listener_manager_impl.cc:602] all dependencies initialized. starting workers
[2018-04-23 14:34:11.933][13][info][main] source/server/server.cc:387] starting main dispatch loop

When I try to restart

root@b09d29ce90d1:/# export RESTART_EPOCH=1
root@b09d29ce90d1:/# ./hot-restarter.py start_envoy.sh
starting hot-restarter with target: start_envoy.sh
forking and execing new child process at epoch 0
forked new child process with PID=49
got SIGCHLD
PID=49 exited with code=1
Due to abnormal exit, force killing all child processes and exiting
exiting due to lack of child processes
root@b09d29ce90d1:/#

Am I doing anything wrong or is there a problem with restarter script ?

bplotnick commented 6 years ago

The hot restarter script is meant to be constantly running. To hot restart, send SIGHUP to the hot-restarter process. It stores the epoch number and will increment it when it is restarted.

mattklein123 commented 6 years ago

Closing as answered