containerd / containerd/nri

NRI plugins penalized with death if they take 2 seconds

Open
#114 5 comments 0 reactions 0 assignees View on GitHub
Discussion Needed
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.