[MXS-2180] errant transaction breaking replication Created: 2018-11-22 Updated: 2020-08-25 Resolved: 2018-11-28 |
|
| Status: | Closed |
| Project: | MariaDB MaxScale |
| Component/s: | N/A |
| Affects Version/s: | 2.2.15 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Major |
| Reporter: | Muhammad Irfan | Assignee: | markus makela |
| Resolution: | Not a Bug | Votes: | 0 |
| Labels: | None | ||
| Environment: |
RHEL 7 |
||
| Sprint: | MXS-SPRINT-71 |
| Description |
|
If you execute function/procedure on slave server and it only contains CREATE/DROP TEMPORARY TABLE statement then DROP TEMPORARY TABLE will execute on slave server and it will create an errant transaction and will break replication. 1- I created below user with same set of privileges as you on MASTER and used your procedure.
2- As soon as I call that testproc() on MASTER no issues on replication side, but as soon as I execute that proc on SLAVE it creates errant transactions and SLAVE breaks as soon as you execute this proc or any write statement on MASTER and as we aware DROP TEMPORARY TABLE is allowed despite of read_only is enabled.
Binlog Entries on slave:
To summarise, as soon as procedure executes on slave server directly it creates errant transaction. I would suggest to set sql_log_bin=0 injected by maxscale before such CREATE/DROP TEMPORARY TABLE. |
| Comments |
| Comment by Dipti Joshi (Inactive) [ 2018-11-22 ] |
|
What version of MaxScale is this on? What OS is it running on? muhammad.irfan |
| Comment by Muhammad Irfan [ 2018-11-23 ] |
|
dshjoshi maxscale version 2.2.15 on RHEL 7 |
| Comment by markus makela [ 2018-11-28 ] |
|
Not a MaxScale bug. |