-
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
"set sort_buffer_size" is not properly dealt with #1044
Comments
Thank you for the analysis: it seems pretty correct! Some possible workaround are:
A generic solution is not that trivial. |
@everpcpc okay, we can try it。 |
Removing |
@renecannao yes, agree. we are just debugging #989 |
We are about to remove Beside, I think perhaps any statements starts with |
Please let me know.
Putting a connection with problem in the connection pool is bad: I full agree with this. In my opinion, what is needed is the ability to be selective choose when multiplexing should be disabled, and how to handle such cases. There are a lot of exceptions and corner cases, therefore I really appreciate all the reports so to be able to handle these cases correctly too. Thanks |
thx so my opinion,safety is more important,disabling multiplexing can be warning by log or discovered by metrics。 |
What directly causing this trouble is that proxysql set Although there are other problems still existing with those special statements. This may be a much smaller change. |
but in this situation, most of queries will not be filtered,just very very little "set .." will be filtered。 |
The problem we have here is:
We can either keep the |
@MOON-CLJ : that's true. but it is also true that the overhead needs to be measured. @everpcpc : I think I am missing something. A connection in the connection pool with |
But when we set |
That is right, it always starts a transaction while in reality shouldn't. |
Then maybe it would be better with an option like Besides, we do not use |
This sounds a like a reasonable feature request to fix this specific problem! |
^_^ |
|
Issue #1045 is solved and available in future release 1.4.1 |
If I have a
set sort_buffer_size=20000
or some other set statement other than what inlib/mysql_connection.cpp#L1499
,user_variable
is not set.But however, the
is_select_NOT_for_update
will be false then, making proxysql changing autocommit to false in the backend connection. Next, this connection will be put back to connection pool because mysql dose not treat this statement as a transaction.Therefore, we have a connection with
autocommit=false
in the connection pool.Here the problem comes:
If I have
enforce_autocommit_on_reads=false
, the autocommit will not be changed. The nextselect
statement will start a transaction which is not expected.Actually, this always happens if I make a connection with an initial statement of
set sort_buffer_size=20000
;Maybe related to #989 ?
The text was updated successfully, but these errors were encountered: