Bug #89287 Enforce that all members do have the same lower_case_table_names value

Submitted: 17 Jan 2018 15:49 Modified: 21 Feb 2018 20:17
Reporter: Nuno Carvalho Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Group Replication Severity:S3 (Non-critical)
Version:5.7.21 OS:Any
Assigned to: CPU Architecture:Any

[17 Jan 2018 15:49] Nuno Carvalho
Description:
Group Replication conflict detection does use schema and table names
as part of the Primary Key Equivalent (PKE) in order to detect and
disallow conflicting transactions.
The value of lower_case_table_names option does change how schema
and tables names are stored and externalized, which depending on the
configuration value may persist a T1 as t1. This difference on a
group can cause inconsistencies:
Example:
  M1: lower_case_table_names=0
  M2: lower_case_table_names=0
  M3: lower_case_table_names=1

  CREATE TABLE T1;
  would be stored as T1 on M1 and M2, but as t1 on M3.

How to repeat:
Please see attached test case.

Suggested fix:
When a server tries to join a group, its lower_case_table_names
value must be compared with the group one, if the value is different
the server must not be allowed to join.
Please see Plugin_gcs_events_handler::compare_member_option_compatibility()
[21 Feb 2018 20:17] David Moss
Posted by developer:
 
Thank you for your feedback, this has been fixed in upcoming versions and the following was added to the 5.7.22 / 8.0.5 changelog:
Group Replication conflict detection uses schema and table names as part of the Primary Key Equivalent (PKE) in order to detect and disallow conflicting transactions. The value of lower_case_table_names system variable changes how schema and table names are stored and externalized, which depending on the configured value could persist a table named T1 as t1. Such a difference in a group could cause inconsistencies. Now, members must all have the same value for lower_case_table_names.
[31 May 2018 14:55] David Moss
Reclosing.

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.051 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.