Release date: 2019-08-14
Compared to v2.0.5, ProxySQL 2.0.6 introduces the following new features, bugs fixes and enhancements:
New features:
- Support for
SELECT
statements that acquires locks. Up to 2.0.5 , onlySELECT FOR UPDATE
are supported. Now support is extended to:SELECT ... FOR SHARE
SELECT ... LOCK IN SHARE MODE
SELECT ... FOR (UPDATE|SHARE) [OF ...] (NOWAIT|SKIP LOCKED)
- Reject connections with unknown charset.
proxysql --version
now prints tostdout
and notstderr
* Add support forCOM_FIELD_LIST
commands.
* IfSET
statement is used in multi-statements commands or if parsing ofSET
statement it is not successful, both multiplexing and query routing is disabled. The client remains bind to a single backend connections.
* ProxySQL now sends GTID informations (SESSION_TRACK_GTIDS
) to client #2120
* Clients capabilities flagsCLIENT_FOUND_ROWS
,CLIENT_MULTI_RESULTS
andCLIENT_MULTI_STATEMENTS
are now tracked, and backend connections will have the same flags #2121 and #2125
* Various enhancements on AWS Aurora module. Mostly support for bothmax_lag_ms
andmin_epoch_ms
as comment modifier
* For security reasons, SSLv3 is now disabled #2169
* If a client issueCOM_SET_OPTION
commands, flagCLIENT_MULTI_STATEMENTS
is changed and tracked accordingly.
* Several enhancements on Query logger- Added metrics
rows_affected
androws_sent
- Added global variable
mysql-eventslog_default_log
: if 1 , logging is enabled for every query unless explicitly disabled inmysql_query_rules.log
. Default is 0 - Added global variable
mysql-eventslog_format
: default is 1 (legacy format). A value of 2 enables logging in JSON format. Issue #871 - Changing value at runtime causes the current file to be closed and a new one created
- Fixed logging for prepared statements: till 2.0.5 only some percentage of prepared statements was correctly logged
* Extended tablesstats_mysql_query_digest
andstats_mysql_query_digest_reset
to also includesum_rows_affected
andsum_rows_sent
* Extendedeventslog_reader_sample.cpp
to support the new enhancements
* A lot of changes to make query digest map faster:
* ExtendedSQLite3_result
to support a mutex for concurrent rows insert. - Extensively rewritten
get_query_digests()
andget_query_digests_reset()
to support multiple threads, and concurrently generate a resultset. - Function
get_query_digests_reset()
defer the deletion of objects from query digest map after generating the resultset for Admin. This drastically reduce the amount of time that query digest map is locked. - Rewritten
get_query_digests_total_size()
to make it multi-threaded.
- Added metrics
- If table
stats_mysql_query_digest_reset
is queried but notstats_mysql_query_digest
, only the first one is populated. - If table
stats_mysql_query_digest_reset
is queried and alsostats_mysql_query_digest
, the second one is populated as a copy from the first. - Overall, this commit has the following effects:
- it increases the memory usage for query digest map. On test workload, this results in 10% more memory usage
- drastically reduces the calls to memory management
- populating
stats_mysql_query_digest_reset
is 3 times faster - the amount of time in which query digest map is locked is reduced by 95%
* Query digest now uses?
forNULL
values. Behavior is controlled by global variablemysql-query_digests_replace_null
#2171
* ProxySQL 2.0.6 now run on Azure. Thanks to @YYJiangLoveU for contributions
* added variablemysql-azure_enabled
(disabled by default) _server_host
is specified as part of mysql connection options
Bug fixes:
- Fixed a memory leak in
eventlog_reader_sample.cpp
- Fixed a bug where interrupting the execution of a prepared statement could cause a crash #2131
- Fixed a hang in changing autocommit #2133
- Fixed various compiler warnings
- Fixed a bug when multiple
OK
packets in multi-statements would result in closed connection - Disable throttling for any client other than
SESSION_MYSQL
(no throttling for Admin) #2147 - Create a wrapper around all the calls to
sqlite3_prepare_v2
in Admin to avoid incorrect assertions - ProxySQL was not sending
COM_PING
when multiplexing was disabled #2096 - Do not close backend connection for error 1317
MD5s:
9c4f953db7bfc640b5564f4296c838dc proxysql-2.0.6-1-centos67.x86_64.rpm
a4e1c659dd5dead9a7f1f73bb524b7e8 proxysql-2.0.6-1-centos7.x86_64.rpm
7e0504ba3580b123d878243ea64068a7 proxysql-2.0.6-1-clickhouse-centos7.x86_64.rpm
255a18930e4eb1529c474418211060a2 proxysql-2.0.6-1-clickhouse-fedora24.x86_64.rpm
a663e501a4a701cc1d81eb74bdceed38 proxysql-2.0.6-1-clickhouse-fedora27.x86_64.rpm
0959b92f865e472b6e8ed42950b77552 proxysql-2.0.6-1-clickhouse-fedora28.x86_64.rpm
ab73cdf47ca36679fd1f3e1329cabdeb proxysql-2.0.6-1-dbg-centos67.x86_64.rpm
a96ae58eb9dc7ace31acffe864653396 proxysql-2.0.6-1-dbg-centos7.x86_64.rpm
4c4a3044774511ede2560ef1f34ebbe3 proxysql-2.0.6-1-dbg-fedora24.x86_64.rpm
e63b5fcb796f149e4bfa3df5acccc9b8 proxysql-2.0.6-1-dbg-fedora27.x86_64.rpm
3fc96310ce1c0851ea6077aa2cb9fb93 proxysql-2.0.6-1-dbg-fedora28.x86_64.rpm
32b35a02cfbc24d4c91d2a4fb6aba671 proxysql-2.0.6-1-fedora24.x86_64.rpm
ac22f7966200e3ccda7054543ad78bc4 proxysql-2.0.6-1-fedora27.x86_64.rpm
1dde77162956d500060dfdaf28ffe6d0 proxysql-2.0.6-1-fedora28.x86_64.rpm
bda9471ca3187f3fdb3d9f6203ccd5e3 proxysql_2.0.6-clickhouse-debian9_amd64.deb
9adec433110bd1bb729a0bff69464c75 proxysql_2.0.6-clickhouse-ubuntu16_amd64.deb
e6b0f8032ae67800e3657b36f2fd4106 proxysql_2.0.6-clickhouse-ubuntu18_amd64.deb
44d0a15dcd32fbf9774ec7b58dbe4d5b proxysql_2.0.6-dbg-debian8_amd64.deb
417c0fc9bd84f03882feb85cc9210402 proxysql_2.0.6-dbg-debian9_amd64.deb
f3ffaaefb690f5390d229b63f68d5a3f proxysql_2.0.6-dbg-ubuntu14_amd64.deb
e70b885766e42f66b6938fd3ef99d589 proxysql_2.0.6-dbg-ubuntu16_amd64.deb
d0ba12f4b73e523a6debd2d03ab152ec proxysql_2.0.6-dbg-ubuntu18_amd64.deb
df1e62f9508098259feafc06d53c3f0d proxysql_2.0.6-debian8_amd64.deb
4b20d297b9c7b17aff94c7f9c07e3fc0 proxysql_2.0.6-debian9_amd64.deb
01793022284ba773d489010b81b2e0ef proxysql_2.0.6-ubuntu14_amd64.deb
5904a85dc91c3c4bd2ae421f8bc42823 proxysql_2.0.6-ubuntu16_amd64.deb
f32b873005dfe9a2c35c2d2a9896abf6 proxysql_2.0.6-ubuntu18_amd64.deb
SHA1s:
508bf87cded29ac8085e838976df0fd1c27a1e66 proxysql-2.0.6-1-centos67.x86_64.rpm
39ff1630a5df7138f6558aa2414d539bdbd63088 proxysql-2.0.6-1-centos7.x86_64.rpm
4bbb07a3b1736de48548f7cf49fe05753ed8aaeb proxysql-2.0.6-1-clickhouse-centos7.x86_64.rpm
3cf60dfdac7a45da5505795250526dbd2901370f proxysql-2.0.6-1-clickhouse-fedora24.x86_64.rpm
830ab98301dbcb94f99ba54e3d559e67acd61bc5 proxysql-2.0.6-1-clickhouse-fedora27.x86_64.rpm
fce76ed57e167007b6b95f350df993e5482fd6c1 proxysql-2.0.6-1-clickhouse-fedora28.x86_64.rpm
5f71872725a031d0ae6690824c413bbf8a634968 proxysql-2.0.6-1-dbg-centos67.x86_64.rpm
30668ed5739daa1f069d75c35f71fff94308e0e5 proxysql-2.0.6-1-dbg-centos7.x86_64.rpm
86c27d58997e3edc638f3416714f97717914c480 proxysql-2.0.6-1-dbg-fedora24.x86_64.rpm
0c3bffed7521f63a047df8171a500c41dfcfb60a proxysql-2.0.6-1-dbg-fedora27.x86_64.rpm
fe7168cc34101d0e447e3ccd63ef68134ee5139c proxysql-2.0.6-1-dbg-fedora28.x86_64.rpm
9f6ff0a5c163b7836b17a28c96a74688d080a0b1 proxysql-2.0.6-1-fedora24.x86_64.rpm
af7ef82dac0a7c2786fd7fdd09aef94d563bf3b7 proxysql-2.0.6-1-fedora27.x86_64.rpm
88ea8f667b33c00a14ec4a6061050d0d8f62cc71 proxysql-2.0.6-1-fedora28.x86_64.rpm
e3ed628a0cbedb602bb34bbb06fb1af9d52d4776 proxysql_2.0.6-clickhouse-debian9_amd64.deb
d24dc7ad1b64774d9a524ac8ab798d9cf82d4d98 proxysql_2.0.6-clickhouse-ubuntu16_amd64.deb
63af429c370bb1cd17320b4a289f8c7ad62c49b7 proxysql_2.0.6-clickhouse-ubuntu18_amd64.deb
11b3bd4b4e434caacdc10c8669407e8326b73093 proxysql_2.0.6-dbg-debian8_amd64.deb
ce43f7d74fd520c0fae30d6375f859731400d320 proxysql_2.0.6-dbg-debian9_amd64.deb
8500174407fb2466943dc564063c9c1abef709f1 proxysql_2.0.6-dbg-ubuntu14_amd64.deb
0b988088efe4cefda6362989b062af4c97c697f5 proxysql_2.0.6-dbg-ubuntu16_amd64.deb
b53b7f7498e99b63b9e965e7e0ac9ccb82623d49 proxysql_2.0.6-dbg-ubuntu18_amd64.deb
db99623d7364b129cbf2d66259f4af340c7d2e27 proxysql_2.0.6-debian8_amd64.deb
b90cf76a18d9fd1f8e554a8d4e4a70c97db62828 proxysql_2.0.6-debian9_amd64.deb
e6e213776b553ae78e4b5afe0fceb71717cf0f3a proxysql_2.0.6-ubuntu14_amd64.deb
79296b2f884046fedc29adc383fd900b7d883b20 proxysql_2.0.6-ubuntu16_amd64.deb
74181ea0ecb8cdbd785080502bfff436db16de0d proxysql_2.0.6-ubuntu18_amd64.deb