-
Notifications
You must be signed in to change notification settings - Fork 977
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
Crash on REST API script invocation #4001
Comments
Thank you for the report. There is no relevant change between 2.4.3 and 2.4.4 .
Basically: We will troubleshoot this more, and specifically we need to:
|
yes, later I got the same error on 2.4.3 too. Sorry about misleading you. I guess the reason is here
so right after I have more than 1024 connections (opened FD) all REST API calls will fail |
@borissavelev : while reviewing this issue again we noticed that the crash has nothing to do with the REST API. Thanks |
I may not agree with you) REST API server is running in a separate thread, so it's related. Proxysql instance is not running out of file descriptors
|
Reopening, maybe you are onto something |
This commit addresses several issues with 'wexecvp': - Fix invalid double call to 'close' in case fd was higher than 'FD_SETSIZE'. This could lead to the invalidation of an unrelated fd resulting in asserts, as in issue #4001 and other instabilities. - Fix previous limitations of the legacy 'select 'impl that rendered the RESTAPI unusable when ProxySQL had more then 'FD_SETSIZE' fds opened. - Other minor improvements in function logic and interface.
This commit pack a couple of fixes and improvements for the RESTAPI: - Homogenization of GET/POST endpoint responses by ProxySQL. All responses should now be guaranteed to be valid JSON. - Fix JSON construction from parameters supplied to GET endpoint. - Add two new fields 'script_stdout' and 'script_stderr' to the JSON response when the target script fails to be executed. This is, when it exists with an error code other than zero. This makes the response homogeneous to when the scripts fails to produce a valid JSON output, and add extra information for debugging on client side. - Add a new debugging module 'PROXY_DEBUG_RESTAPI', to help tracing in debugging builds the requests to the endpoints.
- Fix several utility functions and add new ones. - Improve current tests targeting RESTAPI. - Add new regression test for issue #4001. - Add several scripts used for RESTAPI tests rework. - Fix compilation of several tests after 'wexcevp' interface change.
Hi @borissavelev, first, thank you for the report. We were aware of the previous limitation of the RESTAPI for Thank you, regards, |
This commit addresses several issues with 'wexecvp': - Fix invalid double call to 'close' in case fd was higher than 'FD_SETSIZE'. This could lead to the invalidation of an unrelated fd resulting in asserts, as in issue #4001 and other instabilities. - Fix previous limitations of the legacy 'select 'impl that rendered the RESTAPI unusable when ProxySQL had more then 'FD_SETSIZE' fds opened. - Other minor improvements in function logic and interface.
This commit pack a couple of fixes and improvements for the RESTAPI: - Homogenization of GET/POST endpoint responses by ProxySQL. All responses should now be guaranteed to be valid JSON. - Fix JSON construction from parameters supplied to GET endpoint. - Add two new fields 'script_stdout' and 'script_stderr' to the JSON response when the target script fails to be executed. This is, when it exists with an error code other than zero. This makes the response homogeneous to when the scripts fails to produce a valid JSON output, and add extra information for debugging on client side. - Add a new debugging module 'PROXY_DEBUG_RESTAPI', to help tracing in debugging builds the requests to the endpoints.
- Fix several utility functions and add new ones. - Improve current tests targeting RESTAPI. - Add new regression test for issue #4001. - Add several scripts used for RESTAPI tests rework. - Fix compilation of several tests after 'wexcevp' interface change.
This commit addresses several issues with 'wexecvp': - Fix invalid double call to 'close' in case fd was higher than 'FD_SETSIZE'. This could lead to the invalidation of an unrelated fd resulting in asserts, as in issue #4001 and other instabilities. - Fix previous limitations of the legacy 'select 'impl that rendered the RESTAPI unusable when ProxySQL had more then 'FD_SETSIZE' fds opened. - Other minor improvements in function logic and interface.
This commit pack a couple of fixes and improvements for the RESTAPI: - Homogenization of GET/POST endpoint responses by ProxySQL. All responses should now be guaranteed to be valid JSON. - Fix JSON construction from parameters supplied to GET endpoint. - Add two new fields 'script_stdout' and 'script_stderr' to the JSON response when the target script fails to be executed. This is, when it exists with an error code other than zero. This makes the response homogeneous to when the scripts fails to produce a valid JSON output, and add extra information for debugging on client side. - Add a new debugging module 'PROXY_DEBUG_RESTAPI', to help tracing in debugging builds the requests to the endpoints.
- Fix several utility functions and add new ones. - Improve current tests targeting RESTAPI. - Add new regression test for issue #4001. - Add several scripts used for RESTAPI tests rework. - Fix compilation of several tests after 'wexcevp' interface change.
It is a reproducible bug
Log:
If you are submitting a reproducible bug report, please provide:
/var/lib/proxysql/proxysql.log
)If this is a crashing bug, please also include:
If the above information is not provided, this issue is likely to be closed.
Please use markdown to format any code or SQL: https://guides.github.com/features/mastering-markdown/
Thank you!
The text was updated successfully, but these errors were encountered: