Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Should the connection be actively closed after triggering the "plugin_request_timeout" timeout? #90

Open
zhaodiaoer opened this issue Jun 12, 2024 · 0 comments

Comments

@zhaodiaoer
Copy link
Contributor

In the current logical design, when the external plugin responds to the request timeout (exceeding the configured value of plugin_request_timeout), it will cause the corresponding stub function on the adaptation side to produce an DeadlineExceeded error, and the error is currently regarded as a "FatalError", which further leads to the adaptation side (such as containerd) actively closing the ttrpc connection, the DeadlineExceeded error is also hidden, and the function will return nil error and log out the error.
Once the above timeout occurs, the plugin side can only re-establish the connection(or do some similar work in onClose()?). Combined with the problem mentioned in the issue, if the plugin does not provide an onClose() handler, the plugin will be quietly exited directly.
In view of this, I want to discuss a question: whether we should optimize the timeout handling logic of the stub, such as providing configurable options to decide whether to keep the ttrpc connection when a timeout occurs, or other more complete optimization ideas.
Please also let me know what considerations and backgrounds there are for such a design at present. Thank you!

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

No branches or pull requests

1 participant