Skip to content

Commit

Permalink
[dockers][supervisor] Increase event buffer size for dependent-startup (
Browse files Browse the repository at this point in the history
#5247)

When stopping the swss, pmon or bgp containers, log messages like the following can be seen:

```
Aug 23 22:50:43.789760 sonic-dut INFO swss#supervisord 2020-08-23 22:50:10,061 ERRO pool dependent-startup event buffer overflowed, discarding event 34
Aug 23 22:50:43.789760 sonic-dut INFO swss#supervisord 2020-08-23 22:50:10,063 ERRO pool dependent-startup event buffer overflowed, discarding event 35
Aug 23 22:50:43.789760 sonic-dut INFO swss#supervisord 2020-08-23 22:50:10,064 ERRO pool dependent-startup event buffer overflowed, discarding event 36
Aug 23 22:50:43.789760 sonic-dut INFO swss#supervisord 2020-08-23 22:50:10,066 ERRO pool dependent-startup event buffer overflowed, discarding event 37
```

This is due to the number of programs in the container managed by supervisor, all generating events at the same time. The default event queue buffer size in supervisor is 10. This patch increases that value in all containers in order to eliminate these errors. As more programs are added to the containers, we may need to further adjust these values. I increased all buffer sizes to 25 except for containers with more programs or templated supervisor.conf files which allow for a variable number of programs. In these cases I increased the buffer size to 50. One final exception is the swss container, where the buffer fills up to ~50, so I increased this buffer to 100.

Resolves #5241
  • Loading branch information
jleveque authored and abdosi committed Sep 28, 2020
1 parent 615086e commit b70c6f7
Show file tree
Hide file tree
Showing 22 changed files with 22 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=50

[eventlistener:supervisor-proc-exit-listener]
command=/usr/bin/supervisor-proc-exit-listener --container-name dhcp_relay
Expand Down
1 change: 1 addition & 0 deletions dockers/docker-lldp-sv2/supervisord.conf.j2
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=25

[eventlistener:supervisor-proc-exit-listener]
command=/usr/bin/supervisor-proc-exit-listener --container-name lldp
Expand Down
1 change: 1 addition & 0 deletions dockers/docker-nat/supervisord.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=25

[eventlistener:supervisor-proc-exit-listener]
command=/usr/bin/supervisor-proc-exit-listener --container-name nat
Expand Down
1 change: 1 addition & 0 deletions dockers/docker-orchagent/supervisord.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=100

[eventlistener:supervisor-proc-exit-listener]
command=/usr/bin/supervisor-proc-exit-listener --container-name swss
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=100

[eventlistener:supervisor-proc-exit-listener]
command=/usr/bin/supervisor-proc-exit-listener --container-name pmon
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=25

[eventlistener:supervisor-proc-exit-script]
command=/usr/bin/supervisor-proc-exit-listener --container-name radv
Expand Down
1 change: 1 addition & 0 deletions dockers/docker-sflow/supervisord.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=25

[eventlistener:supervisor-proc-exit-listener]
command=/usr/bin/supervisor-proc-exit-listener --container-name sflow
Expand Down
1 change: 1 addition & 0 deletions dockers/docker-snmp-sv2/supervisord.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=50

[eventlistener:supervisor-proc-exit-listener]
command=/usr/bin/supervisor-proc-exit-listener --container-name snmp
Expand Down
1 change: 1 addition & 0 deletions dockers/docker-sonic-mgmt-framework/supervisord.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=25

[program:rsyslogd]
command=/usr/sbin/rsyslogd -n -iNONE
Expand Down
1 change: 1 addition & 0 deletions dockers/docker-sonic-restapi/supervisord.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=25

[eventlistener:supervisor-proc-exit-listener]
command=/usr/bin/supervisor-proc-exit-listener --container-name restapi
Expand Down
1 change: 1 addition & 0 deletions dockers/docker-sonic-telemetry/supervisord.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=50

[eventlistener:supervisor-proc-exit-listener]
command=/usr/bin/supervisor-proc-exit-listener --container-name telemetry
Expand Down
1 change: 1 addition & 0 deletions dockers/docker-teamd/supervisord.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=50

[eventlistener:supervisor-proc-exit-listener]
command=/usr/bin/supervisor-proc-exit-listener --container-name teamd
Expand Down
1 change: 1 addition & 0 deletions platform/barefoot/docker-syncd-bfn/supervisord.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=25

[eventlistener:supervisor-proc-exit-listener]
command=/usr/bin/supervisor-proc-exit-listener --container-name syncd
Expand Down
1 change: 1 addition & 0 deletions platform/broadcom/docker-syncd-brcm/supervisord.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=25

[eventlistener:supervisor-proc-exit-listener]
command=/usr/bin/supervisor-proc-exit-listener --container-name syncd
Expand Down
1 change: 1 addition & 0 deletions platform/innovium/docker-syncd-invm/supervisord.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=25

[program:rsyslogd]
command=/usr/sbin/rsyslogd -n -iNONE
Expand Down
1 change: 1 addition & 0 deletions platform/marvell-arm64/docker-syncd-mrvl/supervisord.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=25

[eventlistener:supervisor-proc-exit-listener]
command=/usr/bin/supervisor-proc-exit-listener --container-name syncd
Expand Down
1 change: 1 addition & 0 deletions platform/marvell-armhf/docker-syncd-mrvl/supervisord.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=25

[eventlistener:supervisor-proc-exit-listener]
command=/usr/bin/supervisor-proc-exit-listener --container-name syncd
Expand Down
1 change: 1 addition & 0 deletions platform/marvell/docker-syncd-mrvl/supervisord.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=25

[eventlistener:supervisor-proc-exit-listener]
command=/usr/bin/supervisor-proc-exit-listener --container-name syncd
Expand Down
1 change: 1 addition & 0 deletions platform/mellanox/docker-syncd-mlnx/supervisord.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=25

[eventlistener:supervisor-proc-exit-listener]
command=/usr/bin/supervisor-proc-exit-listener --container-name syncd
Expand Down
1 change: 1 addition & 0 deletions platform/nephos/docker-syncd-nephos/supervisord.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=25

[eventlistener:supervisor-proc-exit-listener]
command=/usr/bin/supervisor-proc-exit-listener --container-name syncd
Expand Down
1 change: 1 addition & 0 deletions platform/vs/docker-syncd-vs/supervisord.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=25

[eventlistener:supervisor-proc-exit-listener]
command=/usr/bin/supervisor-proc-exit-listener --container-name syncd
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE
buffer_size=50

[eventlistener:supervisor-proc-exit-listener]
command=/usr/bin/supervisor-proc-exit-listener --container-name dhcp_relay
Expand Down

0 comments on commit b70c6f7

Please sign in to comment.