NRI plugins penalized with death if they take 2 seconds
- Dominant language
- Go
- Stars
- 406
- Forks
- 102
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 8
Description
## Description
NRI plugins running in `containerd` by default have 2 seconds per event to provide a response. This is fine. But, if it misses a single response in that timeframe, it is closed / cut off from future events. For plugins built on github.com/containerd/nri, that results in the process exiting.
There is a specific set of errors that induce this close-the-connection behavior:
https://github.com/containerd/nri/blob/7b3bcee97eeaa0bdeef8dd771e5daeb73d4e0123/pkg/adaptation/plugin.go#L520-L533
The other ones in that list look very reasonable. But, I'd like to suggest that a plugin responding to one event in more than (by default) 2 seconds doesn't indicate that the plugin has entirely failed and it can probably still be used for future events, so a better behavior would be to simply time out that one event but continue.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.