WL#14628: Compatibility option to enable old replication terminology in P_S instrumentation

Affects: Server-8.0   —   Status: Complete

EXECUTIVE SUMMARY
=================

We introduce a compatibility option to enable the provious terminology
in strings shown in performance_schema, information_schema, SHOW
PROCESSLIST, SHOW REPLICA STATUS, and slow query log.  The strings
were modified in 8.0.26 by WL#14194.

In WL#14194, a number of performance_schema instrumentation names were
changed. This includes locks, condition variables, memory allocations,
thread names, thread stages, and thread commands. The result is that
the observed contents of performance_schema tables have changed. This
may impact monitoring tools that check these strings. Such monitoring
tools can enable the option when upgrading to 8.0.26, to ensure that
they keep functioning as expected.

USER STORIES
============

U1. As a person that manages a MySQL deployment observed by monitoring
    tools,
    - I need to upgrade the server without changing instrumentation
      names,
    - so that upgrade does not have to wait for the monitoring tools
      to be adjusted to use the new names.

U2. As a person that manages a MySQL deployment observed by multiple
    independent monitoring tools,
    - I need to enable the old instrumentation names only for some
      sessions,
    - so that I can fix each tool independently, and in the process
      disable the compatibility mode selectively for those tools that
      have been fixed.

SCOPE
=====

The option only impacts terminology visible in performance_schema and
modified in WL#14194.

The option impacts all places where changed instrumentation names
occur: performance_schema and information_schema tables,
SHOW PROCESSLIST, SHOW REPLICA STATUS, and slow query log.

LIMITATIONS
===========

There is no way to enable compatibility for each string individually.
A monitoring tool needs to adjust all strings at once.

There is no way to enable compatibility for each table, log file, or
command individually.

While performance_schema/information_schema tables and SHOW
PROCESSLIST/SHOW REPLICA STATUS show the old names based on the
session option; slow query log shows old names based on the global
option.  The reason is that the performance_schema/information_schema
tables and SHOW PROCESSLIST/SHOW REPLICA STATUS compute the result
sets dynamically, so this computation can be intercepted, whereas the
logs exist in shared global storage - files or tables - which are
accessed through generic methods such as SELECT, which cannot be
intercepted.