v2.1.0
Release date: 2021-01-13
Compared to v2.0.15, ProxySQL v2.1.0 introduces the following features, enhancements and bug fixes:
New features
- Implemented a built in Prometheus exporter conforming to Prometheus best practices and standards.
- ProxySQL now includes an endpoint exposing metrics in Prometheus format. For instructions on how to enable and
configure this feature, please refer to the official documentation. - Added support to exposing Prometheus metrics through the admin interface via
SHOW PROMETHEUS METRICS
command. - A Docker compose file which launches Prometheus, Grafana and deploys our reference dashboards is available here
- ProxySQL now includes an endpoint exposing metrics in Prometheus format. For instructions on how to enable and
- Added code that prevents caching of routing metadata for
COM_STMT_EXECUTE
. - Added support for FRs 2660, 2661, 2662, 2663 and 1377. These changes allow
more uniform query digests, grouping different queries into an consistent format. - ProxySQL cluster changes:
- Added SSL support for ProxySQL Cluster inter-cluster communication #2748.
- ProxySQL Cluster now verifies peers version and pairs with same ProxySQL version only to facilitate upgrades and prevent inconsistancies. #2750
- Extended ProxySQL Cluster feature set synchronization to include additional modules, specifically:
mysql_galera_hostgroups
,group_replication_hostgroups
andmysql_aws_aurora_hostgroups
. #2687 - Improved logging in cluster synchronization to report invalid sync states.
- ProxySQL Cluster has also been extended to synchronize instance variables:
mysql_variables
andadmin_variables
. #2856
- Support for the SQLite3 plugin, this opens the road for encryption at rest as well as other features. #2821
- Added support for Oracle
mysqlsh
. #2854 - Introduced several minor
SHUTDOWN
command changes.- Mapped the command
PROXYSQL SHUTDOWN
toPROXYSQL KILL
, performing a very fast shutdown. - Legacy
PROXYSQL SHUTDOWN
is now implemented asPROXYSQL SHUTDOWN SLOW
.
- Mapped the command
- Introduced new column
attributes
to themysql_users
(#3083) andmysql_query_rules
(#3088) tables. - Added initial support for
CLIENT_DEPRECATE_EOF
. Currently ProxySQL has support forCLIENT_DEPRECATE_EOF
for text protocol only, and excluding prepared statements. - ProxySQL now honors
wsrep_sst_donor_rejects_queries
so DONOR nodes no longer need to be set toOFFLINE
during a SST. For implementation details about this please refer to the official documentation #3227 #3227 - Introduced new
WebInterfacePlugin
to support theWebInterface
component of the ProxySQL Enterprise Edition extension.
Bug fixes
- Fixed client connection stall when no backends are available. #3133
- Galera nodes permanently dropped from
runtime_mysql_servers
whenwriter_is_also_reader=2
. #3187- Readers that were only part of the
reader_hostgroup
, due to, for example, havingread_only
flag equal 1,
were being permanently dropped from theruntime_mysql_servers
table.
- Readers that were only part of the
- Fixed a bug where ProxySQL would create connections exceeding the defined
max_connections
. #2619- ProxySQL now enforces
CLIENT_MULTI_RESULTS
for client connections specifyingCLIENT_MULTI_STATEMENTS
as per the MySQL specification.
- ProxySQL now enforces
- Fixed error log and errors reported to clients when several statements fails #3177
- Fix several memory leaks detected by valgrind: #3204
- Fixed memory leak in
save_mysql_servers_runtime_to_database
due to a resultset not being freed. - Updated
mariadb_lib.c.patch
to fix a memory leak patch formysql_close_no_command
.
- Fixed memory leak in
- Fixed a bug preventing ProxySQL Native Galera modules from operating after a
PROXYSQL RESTART
statement is issued via ProxySQL Admin. #2330 - Connections not being cleaned up in case of
match_tracked_options
were always failing, this has been fixed. #3201 - Galera nodes were wrongly purged after being set to
OFFLINE HARD
i.e. placed in theoffline_hostgroup
. #3216- If due to a previous event the node was placed in the
offline_hostgroup
, and never purged from it, a later event may try to place it
in theoffline_hostgroup
again. The second placement wouldnt overwrite it`s status, creating the possibility of being completely purged from the tables.
- If due to a previous event the node was placed in the
- Servers wrongly used as reader for Galera cluster with
writer_is_also_reader=2
. #3219- Due to selective cleanup of readers for
writer_is_also_reader=2
, in case of no available backups writers, a server could unexpectedly
end up in thereader_hostgroup
.
- Due to selective cleanup of readers for
Code improvements / Refactoring
- Refactored
MySQL_Thread::run
. Method has been split into multiple functions to improve readability. Relevant commits: #1, #2, #3,#4, #5, #6. - Removed code refactored into the new
MySQL_Thread.status_variables
array implementation. - Refactored the session handler
MySQL_Session::handler()
, split code into serveral much more manageable sections. #2738 & #3110 - Refactored MySQL_Connection setter/getter functions functions for
status_flags
. #2717
SHA256s:
e520b1622abb2d62f5f152624aaff241ae96607d4f74bc919ba68b1b3a83d4cf proxysql-2.1.0-1-centos67.x86_64.rpm
bcfba089b452a9fabac2a725e9348ccaebce001fc04eb74beb00c7e91a84cf28 proxysql-2.1.0-1-centos7.aarch64.rpm
a0af599367bca6cd7ddfe818a3193b180352a41a3887419100d582478e3557bf proxysql-2.1.0-1-centos7.x86_64.rpm
690fed18ebabed9ce4a98e73e9a75c0af6066c45667cf548af7cd3a44c796f30 proxysql-2.1.0-1-centos8.aarch64.rpm
430ef5a5f11a80d7d7373397c21a1e23209722aed79e5863dc1514e8d53901eb proxysql-2.1.0-1-centos8.x86_64.rpm
f6aa4b64b1d4bd836c0bb961f6281e37bd3fa721c615d50ef22650d2f7a6d0b9 proxysql-2.1.0-1-dbg-centos67.x86_64.rpm
1cad09c6b193deaf2dc8790c36497d9226cc9691aaec9c49c3a0c44c5fd46dc1 proxysql-2.1.0-1-dbg-centos7.x86_64.rpm
7bf3c73b5cca1d38dcac89ede4643d5880953ecac719ab1830104fdee9229273 proxysql-2.1.0-1-dbg-centos8.x86_64.rpm
0a9d9c5095130dfda6c4ee46943cf7c916bbf27371b69173b7e155d7f77133b9 proxysql-2.1.0-1-dbg-fedora24.x86_64.rpm
f93c79d59e677f19efcad4de0c7e1d3c0fdb5eefd31c30377655c39a3cc89fe9 proxysql-2.1.0-1-dbg-fedora27.x86_64.rpm
60073a26ddaaa21019c6500054b3f26771fbf6e9ac84665b5498929f970e57cf proxysql-2.1.0-1-dbg-fedora28.x86_64.rpm
69f4fedb135d408b760e24bc47ea2b47dda5e1f99e8ee73f087c6c2bc94d0d1b proxysql-2.1.0-1-fedora24.x86_64.rpm
97085de97a337a5c2c2f2576f88c5f99e54f8b9841cd860a84e392a98473841e proxysql-2.1.0-1-fedora27.x86_64.rpm
e0d7aa4e937c50ddf0c582e74c572641baeebb87c75759a521ebd98429c45f2c proxysql-2.1.0-1-fedora28.x86_64.rpm
49c19929f6d5ac31ac9d6bfe0f5e5fa890d5bd216b8150f487d08e2e57afefa0 proxysql_2.1.0-dbg-debian10_amd64.deb
5e6fe10f5224aeb3edca30bcc42f77625eef90a7d0b38c0fa5996b9b7e6209d4 proxysql_2.1.0-dbg-debian8_amd64.deb
229983a93f0a967bf54e2671397efecc6ece0ee76e1f6e1b09011658592dab06 proxysql_2.1.0-dbg-debian9_amd64.deb
c1a2402e006802867ac56fa5a6a8595f16241de639b09e1f0c47f541fba3c5cd proxysql_2.1.0-dbg-ubuntu14_amd64.deb
8c7a66bf6442cee5166e8b18eae7ee2c2b7a7c2212825eea5e8bd28a517b8d7a proxysql_2.1.0-dbg-ubuntu16_amd64.deb
6d02ad456ac7f946f97b68d4cd99661da11acbbf4c676bf878ed9282744c3b23 proxysql_2.1.0-dbg-ubuntu18_amd64.deb
54eeb7159d70a19d565cc0620ff04a2228f732140081f75f67156048a35abce0 proxysql_2.1.0-dbg-ubuntu20_amd64.deb
c6893e6c0ea6e9320728bc3ca362af1e737205e50608a8dc49a5dae7b615c485 proxysql_2.1.0-debian10_amd64.deb
7c667a8d0e973abdd7848b69b85dee02478e9701d0b8a036db83c2321b5c7466 proxysql_2.1.0-debian10_arm64.deb
68999638c2764b2d564bb4e4bd1e327fab6d362b573c9bc124ae688bcc31d823 proxysql_2.1.0-debian8_amd64.deb
0c56884744d7ab58b5a313a65eaaa58b01fe7741b305ada1f6e6342442661294 proxysql_2.1.0-debian9_amd64.deb
93c1975d0fb2c6f1c90953f6459ca17a2021fbc2a9939d56102cfce5c9ca94e5 proxysql_2.1.0-debian9_arm64.deb
595a9f25e44db0725954b0b6f4e53620df00b28e69cdedc54dca4d47eada35a0 proxysql_2.1.0-ubuntu14_amd64.deb
9fdc30dec21fe8debfa48b98dbfeae9f6938d34b11a9cb068d162705f2e3e0e1 proxysql_2.1.0-ubuntu16_amd64.deb
1c48ac3729c21234df2876fb5a28f643252c1d3a32496241a74ee0c220debe4a proxysql_2.1.0-ubuntu18_amd64.deb
6c7511e41a4b9dc9e92c7063f5ce5d156a644d08c4e34f0e32658d0d3f42b53e proxysql_2.1.0-ubuntu18_arm64.deb
e410a10cd6d057ddd5f6b387f8d9a3333f3c57d0b0125a8f7dfda641ccb628c7 proxysql_2.1.0-ubuntu20_amd64.deb
d97f282bcc4bb00fc6d96439c6722317b30809c95bf64c0aae9207dd46b2358f proxysql_2.1.0-ubuntu20_arm64.deb