containerd/cmd/containerd-shim-runc-v2
Laura Brehm 6d00c3ada8
runc-shim: only defer init process exits
In order to make sure that we don't publish task exit events for init
processes before we do for execs in that container, we added logic to
`processExits` in 892dc54bd2 to skip these
and let the pending exec's `handleStarted` closure process them.

However, the conditional logic in `processExits` added was faulty - we
should only defer processing of exit events related to init processes,
not other execs. Due to this missing condition,
892dc54bd2 introduced a bug where, if
there are many concurrent execs for the same container/init pid, exec
exits are skipped and then never published, resulting in hanging
clients.

This commit adds the missing logic to `processExits`.

Signed-off-by: Laura Brehm <laurabrehm@hey.com>
2024-03-26 13:39:11 +00:00
..
manager Move shim package to pkg 2024-03-07 10:05:26 -08:00
process Switch to new errdefs package 2024-01-25 22:18:45 -08:00
runc Switch to new errdefs package 2024-01-25 22:18:45 -08:00
task runc-shim: only defer init process exits 2024-03-26 13:39:11 +00:00
main.go Move shim package to pkg 2024-03-07 10:05:26 -08:00