Bug #87829 | DDL of Views replicated to other nodes even with "ERROR 1142"!! | ||
---|---|---|---|
Submitted: | 21 Sep 2017 16:40 | Modified: | 20 Oct 2017 13:49 |
Reporter: | Wole Badde | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server: Row Based Replication ( RBR ) | Severity: | S2 (Serious) |
Version: | 5.6 and 5.7 | OS: | CentOS |
Assigned to: | CPU Architecture: | Any |
[21 Sep 2017 16:40]
Wole Badde
[20 Oct 2017 11:22]
MySQL Verification Team
Hello Wole Badde, Thank you for the report. I'm not seeing this issue on 5.6.38(or even with 5.6.34) with default settings. Could you please provide exact configuration of master/slave from your environment to reproduce this issue at our end? Thank you! Thanks, Umesh
[20 Oct 2017 13:42]
Wole Badde
Hello, We are replication out of the PXC cluster from one of the nodes that make up the Cluster. It has also been confirmed to be a PXC related problem according to the bug report filed with Percona here https://jira.percona.com/browse/PXC-870 This what They said they found " In most of the code (for DDL), PXC does the access check then does the TOI transaction. case SQLCOM_DROP_VIEW: { if (check_table_access(thd, DROP_ACL, all_tables, FALSE, UINT_MAX, FALSE)) goto error; /* Conditionally writes to binlog. */ WSREP_TO_ISOLATION_BEGIN(WSREP_MYSQL_DB, NULL, NULL) res= mysql_drop_view(thd, first_table, thd->lex->drop_mode); break; } However, for CREATE VIEW, we do case SQLCOM_CREATE_VIEW: { WSREP_TO_ISOLATION_BEGIN(WSREP_MYSQL_DB, NULL, NULL) res= mysql_create_view(thd, first_table, thd->lex->create_view_mode); break; } The access check happens within the mysql_create_view(). So the WSREP_TO_ISOLATION_BEGIN() will replicate the DDL to the other nodes, before the access check. I am checking the other calls that use WSREP_TO_ISOLATION_BEGIN() to see what other DDL operations will show the same behavior as CREATE VIEW. " Cheers
[20 Oct 2017 13:49]
MySQL Verification Team
Thank you for confirming that this is something PXC related problem(sorry, could not check provided link as I don't have access to that resource). If you are able to isolate this problem, and have reproducible test case for our builds then please feel free to add it to this bug and change the status back to 'Open'. Thank you for your interest in MySQL. Regards, Umesh