Path to this page:
Subject: CVS commit: pkgsrc/databases
From: Adam Ciarcinski
Date: 2021-07-25 22:29:14
Message id: 20210725202914.D8F58FA95@cvs.NetBSD.org
Log Message:
mysql57: updated to 5.7.35
Changes in MySQL 5.7.35 (2021-07-20, General Availability)
Audit Log Notes
Deprecation and Removal Notes
Packaging Notes
Bugs Fixed
Audit Log Notes
For MySQL Enterprise Audit, the new audit_log_format_unix_timestamp system \
variable enables inclusion of a time field in each audit record. The field value \
is an integer that represents the UNIX timestamp value indicating the date and \
time when the audit event was generated. The time field is supported only for \
JSON-format log files.
Deprecation and Removal Notes
The TLSv1 and TLSv1.1 connection protocols now are deprecated and support for \
them is subject to removal in a future MySQL version. (For background, refer to \
the IETF memo Deprecating TLSv1.0 and TLSv1.1.) It is recommended that \
connections be made using the more-secure TLSv1.2 and TLSv1.3 protocols. TLSv1.3 \
requires that both the MySQL server and the client application be compiled with \
OpenSSL 1.1.1 or higher.
On the server side, this deprecation has the following effects:
If the tls_version system variable is assigned a value containing a deprecated \
TLS protocol during server startup, the server writes a warning for each \
deprecated protocol to the error log.
If a client successfully connects using a deprecated TLS protocol, the server \
writes a warning to the error log.
On the client side, the deprecation has no visible effect. Clients do not issue \
a warning if configured to permit a deprecated TLS protocol. This includes:
Client programs that support a --tls-version option for specifying TLS protocols \
for connections to the MySQL server.
Statements that enable replicas to specify TLS protocols for connections to the \
source server. (CHANGE MASTER TO has a MASTER_TLS_VERSION option.)
Packaging Notes
Binary packages that include curl rather than linking to the system curl library \
have been upgraded to use curl 7.77.0.
The bundled lz4 library was upgraded to version 1.9.3.
Bugs Fixed
InnoDB: A deadlock between a user thread and purge thread involving a undo log \
page and rollback segment page occurred after an undo tablespace truncate \
operation was initiated. The deadlock caused a long semaphore wait and an \
eventual failure.
InnoDB: An integer underflow issue was addressed in the InnoDB mecached plugin \
sources.
InnoDB: An index with a key prefix length greater than 767 bytes was permitted \
on a table defined with the REDUNDANT row format, exceeding the index key prefix \
length limit for that row format. The ALTER TABLE operation that added the index \
validated the index key prefix length for the row format defined by the \
innodb_default_row_format variable instead of the actual row format of the \
table. The fix ensures that index key prefix length is validated for the correct \
row format.
InnoDB: An online buffer pool resizing operation freed the previous buffer pool \
page hash, conflicting with a concurrent buffer pool lookup that required the \
previous page hash.
InnoDB: Numerous system temporary table pages at the tail of the buffer pool \
flush list caused a performance degradation. The flush_list_mutex was held while \
the flush list scan traversed over system temporary table pages. The flush list \
scan now excludes system temporary table pages.
InnoDB: A binary log rotation deadlock occurred on a system using \
statement-based replication where there was high number of concurrent update \
operations and low innodb_thread_concurrency setting.
Replication: When the system variable \
replication_optimize_for_static_plugin_config was set, the plugins for Group \
Replication and semi-synchronous replication could not be uninstalled cleanly on \
server shutdown.
Replication: A deadlock could occur when START GROUP_REPLICATION and STOP \
GROUP_REPLICATION statements were issued at the same time that a view change was \
taking place for the group.
Replication: A deadlock could occur if a STOP GROUP_REPLICATION statement was \
issued when a replication channel on a group member was attempting to commit a \
transaction. The server now rolls back the transaction immediately if it cannot \
acquire the relevant lock, rather than waiting for the lock and the commit to \
complete and causing the deadlock.
Replication: On a multithreaded replica, the reference to the active event was \
sometimes managed incorrectly when retrying a transaction.
Replication: Replica servers now check and validate the transaction ID part of a \
GTID before applying and committing the transaction associated with it.
Replication: Replication could stop on a multithreaded replica if a unique \
secondary key was omitted from the writeset hashes used to compute transaction \
dependencies, leading to errors when executing the transactions on the \
multithreaded replica. Write set hashes now always include unique secondary keys \
even if they are not included in the read set and write set.
JSON: Passing NULL to a stored procedure expecting a JSON parameter led to an \
assertion failure in debug builds.
Replication could fail if a DML statement was executed immediately after an XA \
transaction was rejected or forced to rollback due to a deadlock.
The mysql_change_user() C API function did not properly parse the \
COM_CHANGE_USER packet, which could result in silent failure to process optional \
query attributes that may have been supplied prior to the mysql_change_user() \
call. Thanks for René Cannaò for the contribution.
Repreparation of a prepared statement at the beginning of an implicit \
transaction could cause an ER_GTID_NEXT_TYPE_UNDEFINED_GROUP error.
An out-of-memory error occurred when loading large amounts of data into tables \
with full-text search indexes. Not all of the memory allocated to the full-text \
search cache was accounted for when inserting data into the full-text search \
auxiliary tables.
A secondary index over a virtual column became corrupted when the index was \
built online.
For UPDATE statements, we fix this as follows: If the virtual column value of \
the index record is set to NULL, then we generate this value from the cluster \
index record.
Boolean system variables could be assigned a negative value.
Files: