Release Highlights
=================================================

Improvements and bug fixes provided by Oracle for *MySQL* 5.7.39 and included in Percona Server for MySQL are the following:

* To provide process information, the ``SHOW PROCESSLIST`` statement collects thread data from all active threads. Since the implementation iterates across active threads from within the thread manager while holding a global mutex, it has a negative impact on performance, particularly on busy systems.

  Now, an alternative ``SHOW PROCESSLIST`` implementation is available based on the new Performance Schema processlist table. This implementation queries active thread data from the Performance Schema rather than the thread manager and does not require a mutex:
     * To enable the alternative implementation, enable the ``performance_schema_show_processlist`` system variable.

       .. note::

          For new installations of MySQL 5.7.39, or higher, the processlist table is automatically created in the Performance Schema. It is not created automatically by an upgrade. If you are upgrading from an earlier version of MySQL 5.7, and want to use the Performance Schema implementation of processlist, create the table manually. 

          Find more information in the `Creating the processlist table <https://dev.mysql.com/doc/refman/5.7/en/performance-schema-processlist-table.html#performance-schema-processlist-table-creating>`__.

     * The alternative implementation of ``SHOW PROCESSLIST`` also applies to the *mysqladmin* processlist command.

     * The alternative implementation does not apply to the ``INFORMATION_SCHEMA PROCESSLIST`` table or the ``COM_PROCESS_INFO`` command of the MySQL client/server protocol.

     * To ensure that the default and alternative implementations give the same information, check the configuration requirements in `The processlist Table <https://dev.mysql.com/doc/refman/5.7/en/performance-schema-processlist-table.html#performance-schema-processlist-table-creating>`__.

* MySQL removes a 4GB tablespace file size limit on Windows 32-bit systems. The limit was set because of an incorrect calculation performed while extending the tablespace.
* When, during a session, an incorrect value for the ``binlog_checksum`` system variable is set, a ``COM_BINLOG_DUMP`` command ran in the same session to request a binary log stream from a source fails. Now, the server validates the specified checksum value before starting the checksum algorithm setup process. 

Find the full list of bug fixes and changes in the `MySQL 5.7.39 Release Notes <https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-39.html>`__.