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

Disable flow control logic for sessions other than PROXYSQL_SESSION_MYSQL #2147

Closed
renecannao opened this issue Jul 21, 2019 · 2 comments
Closed
Assignees

Comments

@renecannao
Copy link
Contributor

Flow control logic (see #1034) makes sense only on sessions with type=PROXYSQL_SESSION_MYSQL .

Retrieving a large resultset from Admin at maximum speed can cause crash.

@renecannao renecannao self-assigned this Jul 21, 2019
@renecannao
Copy link
Contributor Author

Example in 1.4.13:

(gdb) bt
#0  0x000000000056de50 in MySQL_Data_Stream::remove_pollout (this=0x7fffef220200) at mysql_data_stream.cpp:369
#1  0x000000000047bdcd in MySQL_Session::writeout (this=this@entry=0x7fffef21b000) at MySQL_Session.cpp:507
#2  0x0000000000488f58 in MySQL_Session::handler (this=this@entry=0x7fffef21b000) at MySQL_Session.cpp:3162
#3  0x00000000004a03f9 in child_mysql (arg=<optimized out>) at ProxySQL_Admin.cpp:3083
#4  0x00007ffff7bc16ba in start_thread (arg=0x7fffefdff700) at pthread_create.c:333
#5  0x00007ffff653941d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

@renecannao
Copy link
Contributor Author

Crash reproducible running this:

mysql -q -u admin -padmin -h 127.0.0.1 -P6032 -e 'SELECT replace(hex(zeroblob(50)), "00", a.Variable_Name) FROM stats_mysql_global a JOIN stats_mysql_global b JOIN stats_mysql_global c JOIN stats_mysql_global d LIMIT 500000;' > /dev/null

renecannao added a commit that referenced this issue Jul 26, 2019
Disable throttling for any client other than SESSION_MYSQL #2147
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