2022-01-10 02:46:47 by Ryo ONODERA | Files touched by this commit (273) |
Log message:
*: Recursive revbump from boost 1.78.0
|
2021-10-19 20:57:37 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message:
mysql57: updated to 5.7.36
Changes in MySQL 5.7.36
Security Notes
Bugs Fixed
Security Notes
The linked OpenSSL library for MySQL Server has been updated to version 1.1.1l. \
Issues fixed in the new OpenSSL version are described at \
https://www.openssl.org/news/cl111.txt and and \
http://www.openssl.org/news/vulnerabilities.html.
Bugs Fixed
Incompatible Change: For all SELECT statements on a view, the query digest was \
based on the view definition. As a result, different queries had the same digest \
and aggregated together in the Performance Schema table \
events_statements_summary_by_digest, so statistics in that table were not usable \
for distinguishing distinct SELECT statements.
The query digest for each SELECT statement on a view now is based on the SELECT, \
not the view definition. This enables distinguishing distinct SELECT statements \
in the events_statements_summary_by_digest table. However, tools that use query \
digests may need some adjustment to account for this change. For example, MySQL \
Enterprise Firewall and query rewrite plugins rely on query digests and existing \
rules for them that are associated with views may need to be updated.
InnoDB: With undo log truncation enabled (innodb_undo_log_truncate=ON), it was \
possible for a deadlock and eventual failure to occur when an undo log truncate \
operation was initiated after a version upgrade from MySQL 5.6 to MySQL 5.7.34 \
or earlier. A patch introduced in MySQL 5.7.35
[Note] InnoDB: Found duplicate reference rseg: 33 space: 1 page: 3
[Note] InnoDB: Reset pre-5.7.2 rseg: 1 after duplicate is found.
If pre-5.7.2 rollback segment slots have no undo data to purge, a message \
similar to the following is emitted:
[Note] InnoDB: Successfully reset 32 pre-5.7.2 rseg slots.
If undo data is found in pre-5.7.2 rollback segment slots, a message similar to \
the following is emitted recommending a slow shutdown and restart:
[Note] InnoDB: pre-5.7.2 rseg: 2 holds data to be purged.
History length: 1. Recommend slow shutdown with innodb_fast_shutdown=0 and restart
InnoDB: Truncation of an undo tablespace during use by an active transaction \
raised an assertion failure. The transaction was prematurely marked as complete, \
permitting the truncation operation.
InnoDB: Deleting or updating a row from a parent table initiated a cascading SET \
NULL operation on the child table that set a virtual column value to NULL. The \
virtual column value should have been derived from the base column value.
Thanks to Yin Peng at Tencent for the contribution.
InnoDB: The InnoDB recovery process did not recognize that page compression had \
been applied to data that was being recovered, causing the tablespace data file \
to increase in size during the redo log apply phase, which could lead to a \
recovery failure for systems approaching a disk-full state.
Replication: The error messages issued by MySQL Replication when GTIDs required \
for auto-positioning have been purged could be incorrectly assigned or scrambled \
in some situations.
Replication: The contents of the gtid_executed and gtid_purged GTID sets were \
not persisted after restoring a dump taken using mysqldump. The dump file \
sequence has now been changed so that the mysql schema (which contains the \
mysql.gtid_executed table) is not dropped after the gtid_purged GTID set is \
written. A new option --skip-mysql-schema is added for mysqldump which lets you \
choose not to drop the mysql schema at all.
JSON: Conversion of JSON values to text caused linear growth of the destination \
string, resulting in an unnecessarily high number of reallocations. Now this \
process uses exponential growth instead, to reduce the number of allocations \
required.
This fix originally appeared in MySQL 8.0 and was backported to MySQL 5.7 by \
Annirudh Prasad, whom we thank for the contribution.
Concurrent insert operations on multiple tables with full-text indexes caused a \
large number of full-text index synchronization requests, resulting in an out of \
memory condition.
When a query uses a temporary table for aggregation, the group by item is used \
as a unique constraint on the temporary table: If the item value is already \
present, the row is updated; otherwise, a new row is inserted into the temporary \
table. If the item has a result field or reference item, it it evaluated twice, \
once to check whether the result exists in the temporary table and, if not, \
again while constructing the row to be inserted. When the group by item was \
nondeterministic, the result value used to check for existence differed from \
that with which an insert was attempted, causing the insert to be rejected if \
the value already existed in the table.
We fix this by using the hash of any nondeterministic items as the unique \
constraint, so that the hash is evaluated once only.
Quote handling was improved for the SHOW GRANTS statement.
|
2021-09-29 21:01:31 by Adam Ciarcinski | Files touched by this commit (872) |
Log message:
revbump for boost-libs
|
2021-09-12 22:32:27 by David H. Gutteridge | Files touched by this commit (2) |
Log message:
mysql57-server & mysql80-server: correct MESSAGE
As of MySQL 5.7, installations created using --initialize no longer
have an empty root password; one is generated as part of the process
and marked expired. (This message is in part simply advice to read the
documentation. However, it's possible other downstream packagers use
--initialize-insecure instead, which retains the old empty password
approach, so this could be a pkgsrc-specific detail to consider.)
|
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-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-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.
|