v2.1.1
v2.1.1-Release notes
This is a minor release for the ProxySQL 2.1 series containing several bug fixes and new features.
Compared to ProxySQL 2.1.0 , 2.1.1 introduces the following changes:
Bug fixes
- Fixed setting of collations requested during the connection phase and during a
MYSQL_CHANGE_USER
. This fix is a workaround for two MySQL bugs: #3249 - Also improved workaround for MySQL bug #102266. This MySQL bug was triggered due to recent fixes introduced in #3249.
Initial workaround scope was extended as the MySQL bug report was updated with more findings and a draft with a potential fix (see
#102266). #3276 - Fixed abort during startup in ARM CentOS systems due to unsupported pagesize by jemalloc. #3256
- Fixed a memory corruption that could cause a crash in
MySQL_HostGroups_Manager::update_group_replication_set_writer
. #3263 - Fixed small memory leak during query rules creation. #3262
- Implemented parsing of charset/collation for
COM_CHANGE_USER
. #3276 - Fixed infinite loop induced by particular timing conditions during SSL handshake. #3273
- Improved how prepared statements metadata is updated during
PROCESSING_STMT_EXECUTE
. #1574 Improved resiliency parsing complexNOTE: Found missingSET
statements. #3317- Fixed inifinite loop in case of multi-statements and closed backend connection. #3347
- Fixed memory leak related to allocation of specific 'stmt_execute_metadata_t' bind buffers types #3350. Affected types where:
MYSQL_TYPE_DATE
MYSQL_TYPE_DATETIME
MYSQL_TYPE_TIMESTAMP
MYSQL_TYPE_DATETIME
- Fixed dropping of connections from PXC readers being set offline due to 'pxc_maint_mode' being set to 'MAINTENANCE'. #3182
Before this change readers were set toOFFLINE_HARD
and removed from thereader_hostgroup
whenpxc_maint_mode
was set toMAINTENANCE
. now readers are set toSHUNNED
, preserving any active connection. - Fixed invalid memory accesses detected in the prepared statements buffer implementation. #3324, #3334
- Fixed shunned server due to replication lag re-enabled due to replication check timing out. #3340
- Fixed crash due to counter update in
MySQL_Result_to_MySQL_wire
withoutmyds
. #3363 - Fixed crash due to unhandled exception when trying to enable
restapi
in Centos 6. #3369 - Now both commands
PROXYSQL STOP
andPROXYSQL RESTART
commands clean prometheus metrics values. #3330 - Added extra logging suggesting solution when
bind()
fails due toEADDRNOTAVAIL
. #3345 - ProxySQL now prevents execution of
LOAD DATA LOCAL INFILE
and prints a message that it is not supported. #833 - Deprecation of
mysql-forward_autocommit
because it was not working as expected. #3253
New features
- Introduced new variables
mysql-enable_client_deprecate_eof
andmysql-enable_server_deprecate_eof
, allowing control ofCLIENT_DEPRECATE_EOF
capability for client and backend connections.
Through this users can now avoid MySQL bug #83346 which is reponsable for the behavior seen in issue #3251.
By usingmysql-enable_server_deprecate_eof
to disableCLIENT_DEPRECATE_EOF
if their backend version is affected and they have query cache enabled. - Prepared statements buffering. ProxySQL is now able to buffer prepared statements results, in the same fashion it was previously done for text protocol.
ProxySQL no longer needs to receive the full resulset from a prepared statement and keep it in memory, before sending it to the client. #3295 - Added SPIFFE support. #3343
- RESTAPI now returns proper errors code for script failures. #3223
- Added support for popular MySQL client
mycli
to Admin interface. #3247 - Added new variable
mysql-log_mysql_warnings_enabled
, controlling whether or not MySQL warnings should be placed in the error log. #3258 - Added support for C# connector for Admin interface. #2543
- ProxySQL now filters queries that are of the form
SET (@@|session.||)wait_timeout = ?
. #3184
Enhancements
- Added extra logging to
monitor_replication_lag_thread
to reflect whenSeconds_Behind_Master
isNULL
. #3288 - Removed duplicated call to 'conn_unregister' in
monitor_group_replication_thread
performed outside proper check. #3267 - Fixed compatibility with HAProxy MySQL health checks. #3342
- Prevent unnecessary logging and port check during admin variables flushing. #3298
- Improve error reporting for
MySQL_Monitor
andMySQL_Session
backend connections via counters. #3310- Introduced new error codes for ProxySQL dynamic counters for errors detected on ProxySQL side regarding invalid states on backend MySQL connections.
Errors codes can be found in new enum. - Note that this classification makes a distinction between errors on ProxySQL side, and errors detected in the MySQL connection itself.
- Introduced new error codes for ProxySQL dynamic counters for errors detected on ProxySQL side regarding invalid states on backend MySQL connections.
ProcessQueryAndSetStatusFlags
is now called now always at the end of query, this means that we will always set the status flag of the connection, no matter if the query succeed or not. This means that, for example, a connection multiplexing can be disabled if the query send should disable it, even if the query itself failed. 3327- Create metric to track number of times multiplexing is disabled due to
mysql-auto_increment_delay_multiplex
. #3330 - Major rework performed in RESTAPI. Rewritten implementation properly handling scripts execution and timeouts. 3223
- Optimized
MySQL_HostGroups_Manager::read_only_action()
reducing the number of calls to SQLite. New implementation offers great performance improvements for instances with a large number of hostgroups. #3349
- Official ProxySQL DockerHub Repository
SHA256s:
6c4444d48c77be4ee6f2abb6f88130f50dd6bb88762bdd7e3ae4be15d595e0cd proxysql-2.1.1-1-centos67.x86_64.rpm
bbae31dd0109df53778702cdb8fac7d67b195fc5652949d0c0b1f5172b043941 proxysql-2.1.1-1-centos7.aarch64.rpm
1dca8435541ef421d53e88a29cb3f1114b13985fdf3feb2b64af5b835ce06929 proxysql-2.1.1-1-centos7.x86_64.rpm
f3a0abf2d00a2cbb87356ddac8262190a6d18b964176ceca10fb73349c85e703 proxysql-2.1.1-1-centos8.aarch64.rpm
c91bd9b6707715d188745cc7d83dfaf6aa3fd6e59742e32a0f52c3bc9d039976 proxysql-2.1.1-1-centos8.x86_64.rpm
863689ab0d07482d2d0753e18b39fd1a6380954318ef5cd9b56425b717ecff50 proxysql-2.1.1-1-dbg-centos67.x86_64.rpm
c7b1280435b6421f425e6e44e3dc951aece987e354b512942e91c820d3a617ad proxysql-2.1.1-1-dbg-centos7.x86_64.rpm
b36ca7af8aa2124751b8fa8fb358a703a1a202ae8ee2fd610e8770b6d8246ba9 proxysql-2.1.1-1-dbg-centos8.x86_64.rpm
e2da798619fe1b6e26baa788301e5b632626f74695c41e144d343f442f17af10 proxysql-2.1.1-1-dbg-fedora24.x86_64.rpm
94f4142e097c15c4cefebbcc0b31391847b633c07a0c6c423a8e9fc8085b8254 proxysql-2.1.1-1-dbg-fedora27.x86_64.rpm
e8a023b8ce3bc826ec9652b8277ce6440c824fcfad45506524d232ff2b0942dd proxysql-2.1.1-1-dbg-fedora28.x86_64.rpm
0c32fcef5cb31ecad60fcfc1cbffb3db2a27bf3e952226425580e6f8f0c94165 proxysql-2.1.1-1-fedora24.x86_64.rpm
6c1ed214cf1a653827fc5bf14b52efd2403c8f688cf2e8367094ab6990cc0c82 proxysql-2.1.1-1-fedora27.x86_64.rpm
2b6cb2aceeef209f826103e74d0e5b38e2a636cbf673e2cc94f55613e8a0c360 proxysql-2.1.1-1-fedora28.x86_64.rpm
39499416d5e43dbe43ec162b713c0eb5866158a6b1b8c46006fec61c4bb2ed0f proxysql_2.1.1-dbg-debian10_amd64.deb
4e53b1d7cde02f38f187a425260f5e10256d7eed65f14ff6ec3ba2a298a2f32f proxysql_2.1.1-dbg-debian8_amd64.deb
fe34a9b828eab19e4e23b5fd608ba5f954740acbc694b40e58813fa61b6866ee proxysql_2.1.1-dbg-debian9_amd64.deb
2b55ca09ba7d2c48ac9347fb5a2cb00042fb0d9de626fad8d84edab6357ff6be proxysql_2.1.1-dbg-ubuntu14_amd64.deb
894a18714aa543f6f17f8ae228b71afdbca03072f52b564f0ace24d9756d69a4 proxysql_2.1.1-dbg-ubuntu16_amd64.deb
9f41dd0e90753df13df9c0637da67b94d407362464bc04b2c8e274e75916a1ad proxysql_2.1.1-dbg-ubuntu18_amd64.deb
62b696004df2b21e066fc037c4493a7f2b47a37883cd271dc776c14369835522 proxysql_2.1.1-dbg-ubuntu20_amd64.deb
566ddfc69613477661d6f29c6934905117947d4ad0e21e3c8e6a64d44360396e proxysql_2.1.1-debian10_amd64.deb
c6ea373ac44958fcfce0f9cf166e01a99fa60724dcea0da6f13b054e496817df proxysql_2.1.1-debian10_arm64.deb
7abc6b1ec8d5dd608f0fac1a53b6a3566b80d94fe99ae262286f3de4f8a0b2a5 proxysql_2.1.1-debian8_amd64.deb
4a5ec51434d88caa53f568336b49533792959d418227962fde9f8060bd4e88db proxysql_2.1.1-debian9_amd64.deb
66ac2535902b6e55086b09140a61d0bb6f80dbacec374b12964517998d595d29 proxysql_2.1.1-debian9_arm64.deb
e1e83d9e7581c0dbcce26044cf5ab92a28798c786165576662ef98bd92e7131e proxysql_2.1.1-ubuntu14_amd64.deb
ece89d6470469152c4ee6908629086c0dd8bc551847a63111dcbbcb962c89495 proxysql_2.1.1-ubuntu16_amd64.deb
0a890b96cb216a9a15cd8a6445a913a38647b843199349c38c3bddc9f9c05a6b proxysql_2.1.1-ubuntu18_amd64.deb
51d159134a2269b6b530d3b9fba80f318879523a457c531beed4a13184e0c1b7 proxysql_2.1.1-ubuntu18_arm64.deb
bc4bf0a877bc520b680b49e70b8b99bd8e591e563519e9f76b613aac96ec462e proxysql_2.1.1-ubuntu20_amd64.deb
bcdda6f534bc66a05167625eaeffe164f7e01939883596d003661c386469b27d proxysql_2.1.1-ubuntu20_arm64.deb