Skip to content

v2.1.1

Compare
Choose a tag to compare
@pondix pondix released this 21 Apr 16:11
1c2b7e4

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 complex SET statements. #3317 NOTE: Found missing
  • 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 to OFFLINE_HARD and removed from the reader_hostgroup when pxc_maint_mode was set to MAINTENANCE. now readers are set to SHUNNED, 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 without myds. #3363
  • Fixed crash due to unhandled exception when trying to enable restapi in Centos 6. #3369
  • Now both commands PROXYSQL STOP and PROXYSQL RESTART commands clean prometheus metrics values. #3330
  • Added extra logging suggesting solution when bind() fails due to EADDRNOTAVAIL. #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 and mysql-enable_server_deprecate_eof, allowing control of CLIENT_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 using mysql-enable_server_deprecate_eof to disable CLIENT_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 when Seconds_Behind_Master is NULL. #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 and MySQL_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.
  • 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