Bug #98219 dba.configureInstance() fails by Variable 'report_port' is a read only variable
Submitted: 14 Jan 2020 9:26 Modified: 14 Jan 2020 11:03
Reporter: Tsubasa Tanaka (OCA) Email Updates:
Status: Verified Impact on me:
None 
Category:Shell AdminAPI InnoDB Cluster / ReplicaSet Severity:S3 (Non-critical)
Version:8.0.19 OS:Debian
Assigned to: CPU Architecture:Any

[14 Jan 2020 9:26] Tsubasa Tanaka
Description:
dba.configureInstance fails to fix `report_port`.
Because report_port is a read only variable and should use SET PERSIST_ONLY to fix this.

How to repeat:
 MySQL  127.0.0.1:33062 ssl  JS > dba.checkInstanceConfiguration()
Validating local MySQL instance listening at port 33062 for use in an InnoDB cluster...
This instance reports its own address as 127.0.0.1:33062
Checking whether existing tables comply with Group Replication requirements...
No incompatible tables detected
Checking instance configuration...
NOTE: Some configuration options need to be fixed:
+-------------+---------------+----------------+----------------------------+
| Variable    | Current Value | Required Value | Note                       |
+-------------+---------------+----------------+----------------------------+
| report_port | 33062         | 3306           | Update the server variable |
+-------------+---------------+----------------+----------------------------+
NOTE: Please use the dba.configureInstance() command to repair these issues.
{
    "config_errors": [
        {
            "action": "server_update",
            "current": "33062",
            "option": "report_port",
            "required": "3306"
        }
    ],
    "status": "error"
}

 MySQL  127.0.0.1:33062 ssl  JS > dba.configureInstance()
Configuring local MySQL instance listening at port 33062 for use in an InnoDB cluster...
This instance reports its own address as 127.0.0.1:33062
NOTE: Some configuration options need to be fixed:
+-------------+---------------+----------------+----------------------------+
| Variable    | Current Value | Required Value | Note                       |
+-------------+---------------+----------------+----------------------------+
| report_port | 33062         | 3306           | Update the server variable |
+-------------+---------------+----------------+----------------------------+
Do you want to perform the required configuration changes? [y/n]: y
Configuring instance...
Dba.configureInstance: 127.0.0.1:33062: Variable 'report_port' is a read only variable (RuntimeError)

Suggested fix:
Use SET PERSIST_ONLY and RESTART.
[14 Jan 2020 11:03] MySQL Verification Team
Hello Tanaka-San,

Thank you for the report and feedback!

regards,
Umesh
[27 Apr 2020 13:48] Nelson Goncalves
Posted by developer:
 
This issue will be addressed in the context of the #30760911 fix. There will no longer be a requirement that the report-port value is the same as the port value, so the check that this bug mentions will disappear.