-
Notifications
You must be signed in to change notification settings - Fork 976
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
Resolves #3583 - Session fast forward enabled when COM_BINLOG_DUMP_GTID is received #3807
Conversation
Here are the basic changes for this. TBD if any cleanup or other changes are needed when changing the state of the session in this way. Feedback appreciated. |
This needs a way for testing it consistently. |
Automated message: PR pending admin approval for build testing |
retest this please |
* Added COM_BINLOG_DUMP_GTID command to enum_mysql_commands with value 30 (0x1e) based on https://dev.mysql.com/doc/internals/en/com-binlog-dump-gtid.html
* If the COM_BINLOG_DUMP_GTID is received, a warning is logged, and then the session_fast_foward is set to true
For commands BINLOG_DUMP, BINLOG_DUMP_GTID and REGISTER_SLAVE a lot of the features provided by ProxySQL aren't useful, like multiplexing, query parsing, etc. For this reason, ProxySQL enable fast_forward when it receives these commands.
This test runs a custom binlog client, that uses libslave, to test that ProxySQL activates fast forward automatically after receiving the command, and to test that it can read the binlog events. The custom client reads the binlog after sending a query that do not disables multiplexing and after sending a query that disables multiplexing.
retest this please |
Fix honoring of 'connect_timeout_server_max' and 'connect_retries_on_failure' for 'fast_forward' sessions created by 'MYSQL_COM_BINLOG_DUMP' when session still doesn't own a backend connection.
Resolves Issue 3583
Enables session fast forwarding if the COM_BINLOG_DUMP_GTID command is received.