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
MD5s:
4dd43091d103e832c0bd9c0d3d8c9745 proxysql-2.1.1-1-centos67.x86_64.rpm
f1e3d58a4e2bc5816b680f822c45b1dd proxysql-2.1.1-1-centos7.aarch64.rpm
00a9252da966733d089031b3dd79b8c8 proxysql-2.1.1-1-centos7.x86_64.rpm
4659985ebec57642d46bbe4c6432fc87 proxysql-2.1.1-1-centos8.aarch64.rpm
c88702bbdb20f126acf3727c3663f0e3 proxysql-2.1.1-1-centos8.x86_64.rpm
b05cb75763d3a2fcad606ac6722c6d69 proxysql-2.1.1-1-dbg-centos67.x86_64.rpm
548ae21ff4f4c93bea5ce984f5889b09 proxysql-2.1.1-1-dbg-centos7.x86_64.rpm
daa2c1b72ef5fa5165bd67488c7ed585 proxysql-2.1.1-1-dbg-centos8.x86_64.rpm
bd06d56d38258e7f9e18f3dcab60e267 proxysql-2.1.1-1-dbg-fedora24.x86_64.rpm
2c89b3f86e4153c0aec51b128d3312de proxysql-2.1.1-1-dbg-fedora27.x86_64.rpm
1e0dcd1c07bd1061b787bc6cfffc6287 proxysql-2.1.1-1-dbg-fedora28.x86_64.rpm
856ce82287cc17b9830a330b1a9b0819 proxysql-2.1.1-1-fedora24.x86_64.rpm
203b40e149691d841bde73ce324b80b4 proxysql-2.1.1-1-fedora27.x86_64.rpm
f8799bb052b7cca2608e32d456d9632f proxysql-2.1.1-1-fedora28.x86_64.rpm
08578b7805717e881a92bb08cd30675b proxysql_2.1.1-dbg-debian10_amd64.deb
a6f5dd255a3d79bedf7050e9b0845d89 proxysql_2.1.1-dbg-debian8_amd64.deb
61a891075b93fe0ef60cc2509d783778 proxysql_2.1.1-dbg-debian9_amd64.deb
7ed34bbe8f8b417ee911952fe4a36a19 proxysql_2.1.1-dbg-ubuntu14_amd64.deb
9df6181db80f6d117f280e2058b8aee4 proxysql_2.1.1-dbg-ubuntu16_amd64.deb
c9541edd4a355920c0615f85fe8d5759 proxysql_2.1.1-dbg-ubuntu18_amd64.deb
56c03554cbd9f45c20f907a78c5f868f proxysql_2.1.1-dbg-ubuntu20_amd64.deb
0a578dde0114271995584fb3a60bd15e proxysql_2.1.1-debian10_amd64.deb
6103c8644fce49f916b0613e5a9ea33f proxysql_2.1.1-debian10_arm64.deb
6e3d60f71a6a9492719878498e397018 proxysql_2.1.1-debian8_amd64.deb
260ec6f1bc05aea73dba66052815544a proxysql_2.1.1-debian9_amd64.deb
438365e2d09e8dd32a3a847257474a7d proxysql_2.1.1-debian9_arm64.deb
5df1740c0634cd1365d6bca9908da20a proxysql_2.1.1-ubuntu14_amd64.deb
63d63683ccb2022c6405472da63bd596 proxysql_2.1.1-ubuntu16_amd64.deb
58e22ebaa51d152798991e4a90b34f99 proxysql_2.1.1-ubuntu18_amd64.deb
4d6bb192561809e8095b25101396bcb0 proxysql_2.1.1-ubuntu18_arm64.deb
26ad45d1e56599d50be2271c38112bed proxysql_2.1.1-ubuntu20_amd64.deb
0984a5d58b38764269f1483df8660e0b proxysql_2.1.1-ubuntu20_arm64.deb
SHA1s:
8aa89f28fec604f3fc570d0892228eec7d5634c8 proxysql-2.1.1-1-centos67.x86_64.rpm
4d39355c20b1ba94458ae9572d2e232c69304e61 proxysql-2.1.1-1-centos7.aarch64.rpm
de0e61bb2ca5cabeb1c4643fb53a2eb5b698315e proxysql-2.1.1-1-centos7.x86_64.rpm
37c1cb272bd50be71dae065be917e56f7cfde014 proxysql-2.1.1-1-centos8.aarch64.rpm
ada984a643177333bf9243002f46c9cd70bf67b7 proxysql-2.1.1-1-centos8.x86_64.rpm
607a82f8be01dc7886884ced07ea1fac6976d449 proxysql-2.1.1-1-dbg-centos67.x86_64.rpm
45fa0a3c6f72c2c372d279d91138776689320845 proxysql-2.1.1-1-dbg-centos7.x86_64.rpm
66a9d6af4c35fdfde381b796e71fa5c9663400a0 proxysql-2.1.1-1-dbg-centos8.x86_64.rpm
8ccfbf0c23218526a461af72dba82323e6fe5b93 proxysql-2.1.1-1-dbg-fedora24.x86_64.rpm
4ae2517d7b7c5fce8f46737db06ebfef0f7bd10e proxysql-2.1.1-1-dbg-fedora27.x86_64.rpm
6c52a91c49026273b04f696fed3a70a86e5e60fb proxysql-2.1.1-1-dbg-fedora28.x86_64.rpm
0e5ef75f2bb4cb0e2e7d290dd7a7092b337d4cbc proxysql-2.1.1-1-fedora24.x86_64.rpm
ea212cbefbc91dd4a8d796f4dc0e9ad35113ddb3 proxysql-2.1.1-1-fedora27.x86_64.rpm
40fd623a93b8665bc1490c4970def444e07158c9 proxysql-2.1.1-1-fedora28.x86_64.rpm
9611e7b5ccbee567cb504d462be5b17320d54fbe proxysql_2.1.1-dbg-debian10_amd64.deb
a1d6f6ca877aeba43cf3aa0154758352d571c56b proxysql_2.1.1-dbg-debian8_amd64.deb
e63bb264d4d1031250cf03f9fe3f8f48e4f62ac2 proxysql_2.1.1-dbg-debian9_amd64.deb
c4e36ae6e2e6a95eec01c113a0d16c4919458ab4 proxysql_2.1.1-dbg-ubuntu14_amd64.deb
448b56ca79d2283a6745735638d5bbd6d9dc5a7b proxysql_2.1.1-dbg-ubuntu16_amd64.deb
8512973af544d9c884241314a1348f0e1108d9f7 proxysql_2.1.1-dbg-ubuntu18_amd64.deb
4f5ee1b941e38995a670006c01142488b2f69d20 proxysql_2.1.1-dbg-ubuntu20_amd64.deb
28dcdd626285fc3ec093b6d6a689b89fe26a3cb5 proxysql_2.1.1-debian10_amd64.deb
fada104aac0082438ecf1eb01c0a5b44a01ac3b8 proxysql_2.1.1-debian10_arm64.deb
7987a8007c1bc81ea2a2d3df5302e07a4c44715c proxysql_2.1.1-debian8_amd64.deb
b216ec0618a1ecbe206e5164794307056344c6a3 proxysql_2.1.1-debian9_amd64.deb
e7859e68701647561bedd5b79108a417861ddd90 proxysql_2.1.1-debian9_arm64.deb
026b7b22b8bd595e1f62220c0aea637b67162e43 proxysql_2.1.1-ubuntu14_amd64.deb
0d07db2323c796ebf388d810ff66d664aecd487a proxysql_2.1.1-ubuntu16_amd64.deb
8b97b17b005e861836cfddc04d97c79407878b12 proxysql_2.1.1-ubuntu18_amd64.deb
09e976c38080ab4de2543aa9edcc3f655b76b9a6 proxysql_2.1.1-ubuntu18_arm64.deb
ff50e03aa568d573822c75eb0b054034eeae4bb7 proxysql_2.1.1-ubuntu20_amd64.deb
b3840b56e3733df2daa33b9f38818deeab823ff6 proxysql_2.1.1-ubuntu20_arm64.deb
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