You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
KeyDB Helm chart is using wrapper shell scripts for k8s liveness/readiness probes. Each execution will leave a defunct process as init process (keydb-server) isn't reaping zombie processes. Pods will eventually be restarted as no new processes can be forked anymore.
To reproduce
% docker run -d --rm eqalpha/keydb:alpine_x86_64_v6.3.3
ebd2a9ecec577986486b3a064036808e3cf8ebff45c93467e6d4fd2d72f4780d
% docker exec -it ebd2a9ecec577986486b3a064036808e3cf8ebff45c93467e6d4fd2d72f4780d sh
/data # ps aux
PID USER TIME COMMAND
1 keydb 0:00 keydb-server *:6379
23 root 0:00 sh
29 root 0:00 ps aux
/data # timeout -s 15 5 keydb-cli -h localhost -p 6379 PING
PONG
/data # ps aux
PID USER TIME COMMAND
1 keydb 0:00 keydb-server *:6379
23 root 0:00 sh
32 root 0:00 [timeout]
33 root 0:00 ps aux
/data # timeout -s 15 5 keydb-cli -h localhost -p 6379 PING
PONG
/data # ps aux
PID USER TIME COMMAND
1 keydb 0:00 keydb-server *:6379
23 root 0:00 sh
32 root 0:00 [timeout]
36 root 0:00 [timeout]
37 root 0:00 ps aux
/data #
Expected behavior
Similar as within Ubuntu based image:
% docker run -d --rm eqalpha/keydb:x86_64_v6.3.3
3979bba50756a12402d403631d8519fe74a2c7d1e2a4db02a015c2c61b53f84d
% docker exec -it 3979bba50756a12402d403631d8519fe74a2c7d1e2a4db02a015c2c61b53f84d sh
# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
keydb 1 1.6 0.1 254448 15240 ? Ssl 14:36 0:00 keydb-server *:6379
root 29 1.0 0.0 4640 788 pts/0 Ss 14:36 0:00 sh
root 35 0.0 0.0 34416 2864 pts/0 R+ 14:36 0:00 ps aux
# timeout -s 15 5 keydb-cli -h localhost -p 6379 PING
PONG
# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
keydb 1 1.4 0.1 254448 15240 ? Ssl 14:36 0:00 keydb-server *:6379
root 29 0.1 0.0 4640 788 pts/0 Ss 14:36 0:00 sh
root 38 0.0 0.0 34416 2860 pts/0 R+ 14:36 0:00 ps aux
# timeout -s 15 5 keydb-cli -h localhost -p 6379 PING
PONG
# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
keydb 1 1.5 0.1 254448 15236 ? Ssl 14:36 0:00 keydb-server *:6379
root 29 0.1 0.0 4640 788 pts/0 Ss 14:36 0:00 sh
root 41 0.0 0.0 34416 2916 pts/0 R+ 14:37 0:00 ps aux
#
Describe the bug
KeyDB Helm chart is using wrapper shell scripts for k8s liveness/readiness probes. Each execution will leave a defunct process as init process (keydb-server) isn't reaping zombie processes. Pods will eventually be restarted as no new processes can be forked anymore.
To reproduce
Expected behavior
Similar as within Ubuntu based image:
Additional information
This can be fixed by using tini as init wrapper:
The text was updated successfully, but these errors were encountered: