You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
proxysql/doc/release_notes/ProxySQL_v1.4.4.md

4.8 KiB

Release date: 2017-12-20

Stable release v1.4.4 , released on 2017-12-20

Compared to v1.4.3, it has the following new features / bugs fixes / enhancements :

New features:

  • Admin Module now regularly collects historical statistics of various metrics
  • introduced a new web interface to export simple statistics
  • from the web interface it is possible to verify if a newer version was released
  • added bandwidth throttling for resultsets sent from ProxySQL to client, or from MySQL server to ProxySQL: see wiki
  • Added watchdog to automatically restart proxysql if MySQL threads are not reporting heartbeat: see wiki
  • It is now possible to configure ProxySQL to call an external script in case proxysql daemon terminates not gracefully. See execute_on_exit_failure
  • added support for utf8mb4_0900_ai_ci (MySQL 8)
  • added new algorithm to limit the number of new connections per second to backends, controlled by variable variable mysql-throttle_connections_per_sec_to_hostgroup
  • added support for monitoring replication lag using Percona heartbeat table instead of Seconds_Behind_Master #1248
  • added new Admin command LOAD ADMIN VARIABLES FROM CONFIG #1075
  • added new variable mysql-autocommit_false_is_transaction , to consider autocommit=0 as a transaction #1256

Bug fixes:

  • Connection Pool: do not terminate connections in case of errors due to read-only variable #1194
  • General: Fixed compiling issue on FreeBSD #1216
  • General: Fixed few anomalies detected with valgrind
  • Connection poll: initialize time_zone in client connection #1253
  • Prepared statements: reset PS metadata if they change after a DDL #965
  • Prepared statements: fixed memory corruption #1197
  • Protocol: do not use autcommit from backend if set: this could lead to situation in which client believe autocommit is on, while it is not
  • Query Processor: track also unknown queries #1100
  • Query Processor: ignore parenthesis from queries when determining type #1100
  • Prepared statements: do not send cursor. #1128 , #892 and #961
  • ProxySQL Cluster: reduced the probability of a race condition while converging #1188
  • ProxySQL Cluster: several minor bugs
  • Monitor: added mutex in replication_lag_action() to avoid race conditions between two or more checks
  • Admin: when parsing from config file, use port 3306 as default for servers in mysql_servers
  • Admin: Allows hashed password for Admin #1221 (regression bug introduced in 1.4.3)
  • Protocol: added support for collations #780 #554 #1219
  • Admin: table definitions was different for mysql_query_rules and runtime_mysql_query_rules #1233
  • Admin: configured mysql_users.transaction_persistent=1 if users are read from config file #1236
  • Connection poll: initialize time_zone in client connection #1253
  • Connection poll: clean up query metadata when set autocommit fails #1257
  • General: do not report in error log replication hostgroups information if hostgroup_manager_verbose=0 #1204
  • Admin: configure mysql_query_rules.re_modifiers=CASELESS if mysql_query_rules are read from config file #1124
  • Protocol: added support for utf8mb4_0900_ai_ci (MySQL 8) #1129
  • Global variables: fixed some incorrect input validation
  • MySQL Server: added contraint hostgroup_id >= 0 #1244 and #1270
  • Eventlog: Persist eventlog file across restarts #1201 and #1269
  • Connection Pool: disable multiplexing for auto_increment_increment, auto_increment_offset and group_concat_max_len #1290
  • Admin: crashes if writing on a closed socket #1227
  • Prepared statements: incorrect format in Decimal fields #1192

Performance improvements:

  • General: introduced several optimizations to reduce memory allocation overhead for small resultsets
  • Query Processor: changed the default value for mysql-stats_time_backend_query and mysql-stats_time_query_processor from true to false. Depending from the workload, this can drastically boost performance
  • Prepared statements: ported from 1.3 the reuse of prepared statements IDs #1198
  • Connection Poll: reset connections using the current username instead of monitor user #1186
  • Connection Poll: limit the size of connections reset queue #1185
  • Connection Poll: added new variable mysql-throttle_connections_per_sec_to_hostgroup to limit the number of new connections per second to backends

General:

  • added support for Darwin (although not recommended for production)
  • added IPv6 support for Admin and localhost: allow to connect locally using user admin
  • when dropping a systemd unit file, do not use daemon-reload
  • report Admin's mysql_servers when executing loading to runtime #1255
  • in Admin, filter commands specific to MySQL and/or transactions #1047
  • removed tables mysql_server_connect and mysql_server_ping from monitor, because unused #1252