Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Won't Fix
-
2.2.4
-
None
Description
In some cases where a prepared statement is routed to all servers, one or more of the participating servers can fail to prepare it. The following are examples of when this can happen:
- When a prepared statement targets a temporary table, which are created only on the master, the slaves fail to execute the session command. This causes errors to be logged as well as prevents the slaves from being used after that point.
- SET autocommit=0 will take locks on slaves that should not be taken (slaves should never have open non-readonly transactions).
- Preparing INSERT statements on Galera nodes can lead to deadlock errors, especially when SET autocommit=0 is used.
At this moment, there is no simple solution to this as all prepared statements are prepared on all servers. The session commands would need to be partitioned by their type to allow execution only on one type of server.
Attachments
Issue Links
- causes
-
MXS-3036 'set autocommit=0' block ddl
- Closed