[MDEV-8831] enforce_storage_engine doesn't block table creation on other nodes (galera cluster) Created: 2015-09-23  Updated: 2015-10-02  Resolved: 2015-10-02

Status: Closed
Project: MariaDB Server
Component/s: Galera
Affects Version/s: 10.1.7
Fix Version/s: 10.1.8

Type: Bug Priority: Major
Reporter: Ronan GORAIN Assignee: Nirbhay Choubey (Inactive)
Resolution: Fixed Votes: 0
Labels: galera, replication
Environment:

ubuntu server 15.04 64bits


Attachments: File 0001-MDEV-8831-enforce_storage_engine-doesn-t-block-table.patch    

 Description   

I set enforce_storage_engine to InnoDB and disable Myisam replication on all nodes of my cluster.

When I try to create a Myisam table on a node, I logically get this error : Unknown storage engine 'MyISAM' and the table isn't created on this node.
But it has been created on all other nodes! In the end, this table exists on every nodes of the cluster but one.



 Comments   
Comment by Nirbhay Choubey (Inactive) [ 2015-10-01 ]

Patch attached.

Comment by Jan Lindström (Inactive) [ 2015-10-01 ]

Ok to push.

Comment by Sergei Golubchik [ 2015-10-01 ]

nirbhay_c, why a failed CREATE TABLE statement is replicated at all?

Comment by Nirbhay Choubey (Inactive) [ 2015-10-01 ]

serg because, Galera replicates DDL during parsing (WSREP_TO_ISOLATION_BEGIN).

Comment by Sergei Golubchik [ 2015-10-01 ]

nirbhay_c, and what happens if the table cannot be created? Like, table already exists, table exists in the InnoDB tablespace, unsupported combination of values for table options, whatever.

Comment by Nirbhay Choubey (Inactive) [ 2015-10-01 ]

serg In that case, the DDL is expected to fail on all the nodes.

Comment by Nirbhay Choubey (Inactive) [ 2015-10-02 ]

https://github.com/MariaDB/server/commit/38f3b99d469ab90f07287577d05e48928de720d4

Generated at Thu Feb 08 07:30:07 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.