2021-09-29 21:01:31 by Adam Ciarcinski | Files touched by this commit (872) |
Log message:
revbump for boost-libs
|
2021-07-25 22:29:14 by Adam Ciarcinski | Files touched by this commit (7) | |
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.
|
2021-05-24 21:56:06 by Thomas Klausner | Files touched by this commit (3575) |
Log message:
*: recursive bump for perl 5.34
|
2021-04-29 18:50:33 by Adam Ciarcinski | Files touched by this commit (3) |
Log message:
mysql57: fix building with GCC
|
2021-04-21 15:26:55 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message:
mysql57: updated to 5.7.34
Changes in MySQL 5.7.34 (2021-04-20, General Availability)
Configuration Notes
The CMAKE_BUILD_TYPE CMake option now supports a Release build type, which is \
like the RelWithDebInfo build type but omits debugging information to reduce the \
build size.
Packaging Notes
The bundled libedit library was upgraded to version 20190324-3.1.
Binary packages that include curl rather than linking to the system curl library \
have been upgraded to use curl 7.74.0.
Security Notes
The linked OpenSSL library for MySQL Server has been updated to version 1.1.1k. \
Issues fixed in the new OpenSSL version are described at \
https://www.openssl.org/news/cl111.txt and \
https://www.openssl.org/news/vulnerabilities.html.
Functionality Added or Changed
Microsoft Windows: The named_pipe_full_access_group system variable now defaults \
to an empty string (''), making named pipe connections secure. Previously, \
'*everyone*' was the default value. A valid Windows local group name may be \
substituted.
Bugs Fixed
InnoDB: The introduction of sharded rw_lock_stats counters in MySQL 5.7 caused a \
regression in CPU cache efficiency. To address this issue in MySQL 5.7, the \
sharding method was changed. For optimal performance, the rw_lock_stats counter \
is removed in MySQL 8.0.
InnoDB: A delete operation on a parent table that initiated a cascading update \
on a child table with an indexed virtual column and indexed foreign key \
constraint column caused a virtual column corruption.
InnoDB: An adaptive hash index (AHI) latch was held in shared mode by a thread \
truncating a large table, causing mutex waits for other threads. The AHI latch \
was not required and has been removed.
InnoDB: The open and close sequence for table share instances (m_share objects) \
and dictionary table instances was modified to prevent accessing old m_share \
objects that could point to stale dictionary indexes.
Thanks to Yuxiang Jiang for the contribution.
InnoDB: An online ALTER TABLE operation failed with an “Incorrect key file for \
table” error due to an unnecessary encryption status check that was performed \
when reading online DDL row logs.
Replication: If all previous binary log files were purged at startup because \
their retention period had expired, the new binary log file contained an empty \
Previous_gtids event, which could cause errors in replication. The order of \
initialization has now been changed so that previous binary log files are only \
purged after the previous GTID set has been written to the new binary log file \
that is created at startup.
Replication: An assertion was raised in debug builds relating to lost GTIDs if \
binary log files were removed at startup because their retention period had \
expired.
Replication: A deadlock could occur if the binary log file was rotated while \
system variables were being updated and read by different clients.
Replication: The output of a SHOW PROCESSLIST statement for a replica’s SQL \
thread sometimes showed the last query as currently being applied when the \
replica was actually caught up.
A query string was displayed before it had been rewritten.
For builds compiled using the libedit library, if the mysql client was invoked \
with the --default-character-set=utf8 option, libedit rejected input of \
multibyte characters.
On Windows, large result sets could cause the mysql client to exit unexpectedly.
Improper locking on an internal queue could cause mysqlpump to exit unexpectedly.
It is now possible to use START REPLICA SQL_THREAD and STOP REPLICA SQL_THREAD \
statements for the group_replication_applier channel when Group Replication is \
stopped. This enables an operator to apply any remaining unapplied transactions \
on a server that left the group, without having to rejoin the server to the \
group.
When the mysql client was used in batch mode, its parser could be confused by \
USE followed by DROP DATABASE when the USE database name was quoted.
While optimizing the ORDER BY clause of a subquery there was a possibility of \
cleaning up a subquery tree referenced in the outer SELECT, which could lead to \
a premature exit.
A malformed name in the mysql.func system table could cause unexpected server \
behavior.
Sessions could disable their own auditing.
Mishandling of stored program local variables could lead to unexpected server \
behavior.
Uninstalling a plugin could affect subsequent execution of prepared statements.
|
2021-02-19 11:19:56 by Tobias Nygren | Files touched by this commit (1) |
Log message:
mysql57-client: needs gnu99 / gnu++14 to compile correct alloca(3) refs
|
2021-02-04 21:26:10 by Adam Ciarcinski | Files touched by this commit (7) | |
Log message:
mysql57: updated to 5.7.33
Changes in MySQL 5.7.33
Optimizer Notes
MySQL attempts to use an ordered index for any ORDER BY or GROUP BY query that \
has a LIMIT clause, overriding any other choices made by the optimizer, whenever \
it determines that this would result in faster execution. Because the algorithm \
for making this determination makes certain assumptions about data distribution \
and other conditions, it may not always be completely correct, and it is \
possible in some cases that choosing a different optimization for such queries \
can provide better performance. To handle such occurrences, it is now possible \
to disable this optimization by setting the optimizer_switch system variable's \
prefer_ordering_index flag to off.
For more information about this flag and examples of its use, see Switchable \
Optimizations, and LIMIT Query Optimization.
Our thanks to Jeremy Cole for the contribution.
Security Notes
The linked OpenSSL library for MySQL Server has been updated to version 1.1.1i. \
Issues fixed in the new OpenSSL version are described at \
https://www.openssl.org/news/cl111.txt and \
https://www.openssl.org/news/vulnerabilities.html.
Functionality Added or Changed
When invoked with the --all-databases option, mysqldump now dumps the mysql \
database first, so that when the dump file is reloaded, any accounts named in \
the DEFINER clause of other objects will already have been created.
Bugs Fixed
InnoDB: The full-text search synchronization thread attempted to read a \
previously-freed word from the index cache.
InnoDB: Calls to numa_all_nodes_ptr were replaced by the numa_get_mems_allowed() \
function. Thanks to Daniel Black for the contribution.
Replication: When the system variable transaction_write_set_extraction=XXHASH64 \
is set, which is the default in MySQL 8.0 and a requirement for Group \
Replication, the collection of writes for a transaction previously had no upper \
size limit. Now, for standard source to replica replication, the numeric limit \
on write sets specified by binlog_transaction_dependency_history_size is \
applied, after which the write set information is discarded but the transaction \
continues to execute. Because the write set information is then unavailable for \
the dependency calculation, the transaction is marked as non-concurrent, and is \
processed sequentially on the replica. For Group Replication, the process of \
extracting the writes from a transaction is required for conflict detection and \
certification on all group members, so the write set information cannot be \
discarded if the transaction is to complete. The byte limit set by \
group_replication_transaction_size_limit is applied instead of the nu
meric limit, and if the limit is exceeded, the transaction fails to execute.
Replication: As the number of replicas replicating from a semisynchronous source \
server increased, locking contention could result in a performance degradation. \
The locking mechanisms used by the plugins have been changed to use shared locks \
where possible, avoid unnecessary lock acquisitions, and limit callbacks. The \
new behaviors can be implemented by enabling the following system variables:
replication_sender_observe_commit_only=1 limits callbacks.
replication_optimize_for_static_plugin_config=1 adds shared locks and avoids \
unnecessary lock acquisitions. This system variable must be disabled if you want \
to uninstall the plugin.
Both system variables can be enabled before or after installing the \
semisynchronous replication plugin, and can be enabled while replication is \
running. Semisynchronous replication source servers can also get performance \
benefits from enabling these system variables, because they use the same locking \
mechanisms as the replicas.
Replication: On a multi-threaded replica where the commit order is preserved, \
worker threads must wait for all transactions that occur earlier in the relay \
log to commit before committing their own transactions. If a deadlock occurs \
because a thread waiting to commit a transaction later in the commit order has \
locked rows needed by a transaction earlier in the commit order, a deadlock \
detection algorithm signals the waiting thread to roll back its transaction. \
Previously, if transaction retries were not available, the worker thread that \
rolled back its transaction would exit immediately without signalling other \
worker threads in the commit order, which could stall replication. A worker \
thread in this situation now waits for its turn to call the rollback function, \
which means it signals the other threads correctly.
Replication: GTIDs are only available on a server instance up to the number of \
non-negative values for a signed 64-bit integer (2 to the power of 63 minus 1). \
If you set the value of gtid_purged to a number that approaches this limit, \
subsequent commits can cause the server to run out of GTIDs and take the action \
specified by binlog_error_action. From MySQL 8.0.23, a warning message is issued \
when the server instance is approaching the limit.
Microsoft Windows: On Windows, running the MySQL server as a service caused \
shared-memory connections to fail.
The server did not handle all cases of the WHERE_CONDITION optimization correctly.
For the engines which support primary key extension, when the total key length \
exceeded MAX_KEY_LENGTH or the number of key parts exceeded MAX_REF_PARTS, key \
parts of primary keys which did not fit within these limits were not added to \
the secondary key, but key parts of primary keys were unconditionally marked as \
part of secondary keys.
This led to a situation in which the secondary key was treated as a covering \
index, which meant sometimes the wrong access method was chosen.
This is fixed by modifying the way in which key parts of primary keys are added \
to secondary keys so that those which do not fit within which do not fit within \
the limits mentioned previously mentioned are cleared.
Privileges for some INFORMATION_SCHEMA tables were checked incorrectly.
In certain cases, the server did not handle multiply-nested subqueries correctly.
Certain accounts could cause server startup failure if the skip_name_resolve \
system variable was enabled.
Client programs could unexpectedly exit if communication packets contained bad data.
A buffer overflow in the client library was fixed.
mysql_config_editor incorrectly treated # in password values as a comment character.
|
2021-01-01 09:24:59 by Ryo ONODERA | Files touched by this commit (266) |
Log message:
*: Recursive revbump from boost-1.75.0
|
2020-12-31 21:04:14 by Nia Alarie | Files touched by this commit (38) |
Log message:
Normalize handling packages that require 64-bit atomic ops.
|
2020-10-21 15:34:50 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message:
mysql57: updated to 5.7.32
Changes in MySQL 5.7.32 (2020-10-19, General Availability)
Functionality Added or Changed
Bugs Fixed
Functionality Added or Changed
LOCK TABLES privilege checking for views was improved.
Bugs Fixed
InnoDB: A query that updated the clustered index of an internal temporary table \
returned an incorrect result. The modified pages of the clustered index were not \
added to the flush list resulting in lost changes when the modified pages were \
evicted from the buffer pool.
References: This issue is a regression of:
InnoDB: An ALTER TABLE ... IMPORT TABLESPACE operation on a large encrypted and \
compressed table failed with a Page decompress failed after reading from disk \
error. The decryption operation did not use the encryption block size used \
during encryption. Also, the encryption process did not consider compressed \
length, while the decryption process decrypts data by compressed length only.
InnoDB: A failure occurred during a concurrent update operation. The failure was \
due to an invalid previous record value.
InnoDB: The function used to process the SHOW ENGINE INNODB MUTEX statement was \
insufficiently isolated from other threads adding new mutexes concurrently.
InnoDB: The buffer control block structure (buf_block_t) was freed while \
reducing the size of the buffer pool, causing an assertion failure. The fix for \
this bug also backports important aspects of the fix for
InnoDB: In session started with START TRANSACTION WITH CONSISTENT SNAPSHOT, a \
range query returned a truncated result. The end range flag was not reset at the \
beginning of the index read resulting in an aborted read and missing rows.
References: This issue is a regression of:
InnoDB: A full-text phrase search raised an assertion failure.
Thanks to TXSQL (Tencent MySQL) for the contribution.
References: This issue is a regression of:
InnoDB: A long running statistics calculation operation on a large table blocked \
other operations requiring access to the table's statistics, causing those \
operations to fail. A new statistics calculation mutex was introduced, which \
permits concurrent access table statistics.
Thanks to Kamil Holubicki for the contribution.
InnoDB: Two connections attempted to use the same transaction handler object \
resulting in a stalled query.
Replication: When a replication source server shuts down and restarts, its \
MEMORY tables become empty. To replicate this effect to replicas, the first time \
that the source uses a given MEMORY table after startup, it logs an event that \
notifies replicas that the table must be emptied by writing a statement to the \
binary log to that effect. Previously, this was a DELETE statement, but it is \
now a TRUNCATE TABLE statement. A replica server also writes this statement to \
its own binary log when it shuts down and restarts. The statement is always \
logged in statement format, even if the binary logging format is set to ROW, and \
it is written even if read_only or super_read_only mode is set on the server.
Replication: When the system variable session_track_gtids was set to OWN_GTID on \
a multithreaded replica, the replica’s performance would degrade over time and \
begin to lag behind the master. The cause was the buildup of the GTIDs recorded \
by the replica’s worker threads at each transaction commit, which increased \
the time taken by the worker threads to insert new ones. Session state tracking \
is now disabled for worker threads on a multithreaded replica. Thanks to \
Facebook for the contribution.
Certain cases of successful LDAP authentication could cause the server to hang.
In bootstrapping mode, certain multiple-statement transactions could cause \
unexpected server behavior.
Sensitive LDAP authentication plugin system variables now display as asterisks \
when retrieved in SQL statements.
After the fix for
References: This issue is a regression of:
Some INSERT statements were not handled correctly.
Certain prepared statements could cause an unexpected server exit.
mysqlpump object validation included objects in excluded databases.
LDAP authentication plugins enforced CA verification incorrectly, which could \
result in use of an incorrect CA.
ORDER BY queries were not executed correctly when sort_buffer_size and \
max_sort_length were set to values which caused the internal limit on the \
maximum number of keys allowed per sort buffer to be set to 0.
A large number of nested arguments in full-text search query caused an error.
When explicit_defaults_for_timestamp was disabled and a NULL was inserted into a \
generated column declared as TIMESTAMP NOT NULL, the server would attempt to \
convert the inserted value to CURRENT_TIMESTAMP. Such an insertion is now \
rejected with ER_BAD_NULL_ERROR.
An assertion could be raised when the SQL layer passed incorrect information to \
InnoDB about the type of operation to be performed on a temporary table.
|