Skip to content

Implementation of WithPluginRegistrationTimeout option#292

Open
egorikas wants to merge 1 commit into
containerd:mainfrom
egorikas:registration-timeout-option
Open

Implementation of WithPluginRegistrationTimeout option#292
egorikas wants to merge 1 commit into
containerd:mainfrom
egorikas:registration-timeout-option

Conversation

@egorikas
Copy link
Copy Markdown

@egorikas egorikas commented May 7, 2026

On a busy Kubernetes node, NRI plugin startup races against the runtime and loses. The plugin-side DefaultRegistrationTimeout is hardcoded at 5s with no override, while the runtime-side plugin_registration_timeout is operator-configurable (we set it to 10s in Uber env).

When the plugin's 5s timer fires first. It gives up and closes its end of the ttrpc connection. Then the runtime finally accepts the connection. It reads the buffered register frame, which succeeds against stale state. The next call, Configure, returns ttrpc.ErrClosed right away because the plugin's side is already gone. The user sees failed to register with NRI/Runtime: ttrpc: closed. That hides the real cause: registration timed out before the runtime got to it.

The error made a lot of confusion for me. And in this PR I mirror the internal patch we did.

Signed-off-by: egorikas <egorgrishechko@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant