WL#11031: Deprecate --relay-log-info-file and --master-info-file

Affects: Server-8.0   —   Status: Complete

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

This worklog implements a deprecation warning when the user sets
or reads the value of --relay-log-info-file and --master-info-file.

BACKGROUND
==========

- relay-log-info-repository : This option causes the server to log its
  relay log info to a file or a table.  The name of the file defaults
  to relay-log.info; you can change the name of the file using the
  --relay-log-info-file server option.

- master-info-repository : This option causes the server to write its
  master info log to a file or a table.  The name of the file defaults
  to master.info; you can change the name of the file using the
  --master-info-file server option.

- WL#6959 has deprecated the use of these two options when set to FILE
  (master_info_repository=FILE and relay_log_info_repository=FILE).
  This was done in 8.0.3. In this worklog we are removing the repository 
  options and metadata files.

RATIONALE
=========

This worklog addresses the fact that there are deprecation warnings
missing for the following two options: relay-log-info-file and
master-info-file. These should have been deprecated already together
with their "parent" options relay_log_info_repository=FILE and
master_info_repository=FILE respectively.
Functional Requirements
=======================

FR1: server SHALL emit a warning, at server start time, when
     configuring relay_log_info_file='bla' in the server configuration
     file.

FR2: server SHALL emit a warning, at server start time, when
     configuring master-info-file='bla' in the server configuration
     file.

FR3: server SHALL emit a warning, at server start time, when passing
     relay-log-info-file='bla' as a server start up option on the
     command line.

FR4: server SHALL emit a warning, at server start time, when passing
     master-info-file='bla' as a server start up option on the command
     line.

FR5: Warning shall be emitted in the user session when the user reads
     the variable @@global.relay_log_info_file.
User Visible Changes
====================

- Server emits a deprecation warning in the session when the user
  selects @@global.relay_log_info_file.

    "Warning 1287 '@@relay_log_info_file' is deprecated and will be
    removed in a future release."

- Server emits a deprecation warning at start up if the
  relay_log_info_file config option is set.

   "2019-07-09T22:45:35.948155Z 0 [Warning] [MY-011069] [Server] The
    syntax '--relay-log-info-file' is deprecated and will be removed in
    a future release."

- Server emits a deprecation warning at start up if the
  master_info_file config option is set.

   "2019-07-09T22:45:35.948155Z 0 [Warning] [MY-011069] [Server] The
    syntax '--master-info-file' is deprecated and will be removed in
    a future release."


Upgrades
========

After upgrading to the version that contains this change then the user
will get the aforementioned deprecation warnings. This, however, shall
not break backwards compatibility.

Security
========

There are no security considerations.

Observability
=============

There are no observability considerations. There is no new
functionality added only a new warning is emitted.
LOW LEVEL CHANGES
=================

1. Deploy DEPRECATED_VAR("") in the relay_log_info_file system
   variable declaration. We do not do it for master-info-file, since
   that is not a variable.

2. Deploy conditional calls to push_deprecated_warn in
   mysql_get_one_options, for both relay_log_info_file and
   master_info_file, so that the warning is pushed at server start
   time, when the options is set.

3. Add deprecation test case validating session and server start
   warnings.