Annotate rows events on slave doesnt' work without slave's binlog
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MariaDB |
New
|
Undecided
|
Kristian Nielsen | ||
Percona Server moved to https://jira.percona.com/projects/PS |
Fix Released
|
High
|
Oleg Tsarev | ||
Rnt-5.1 |
Fix Released
|
High
|
Oleg Tsarev |
Bug Description
master: --binlog_
slave: --slave_
slave fails with error:
[ERROR] Slave I/O: Got fatal error 1236 from master when reading data from binary log: 'log event entry exceeded max_allowed_packet; Increase max_allowed_packet on master', Error_code: 1236
if master idle more than --slave_
Test-case in attachment.
I investigated it, and found the following:
1) master doesn't replicate Annotate_
a) --replicate_
b) --log_slave_updates is OFF
2) While slave executes events, it calculates mi->master_log_pos (Exec_Master_
If master doesn't replicate Annotate_
3) After slave_net_timeout slave reconnects to master and sends mi->master_log_pos to it.
As a result, master tries to read event from its log from incorrect position.
Possible fixes:
1) always replicate Annotate_
2) fix the Master Dump Thread - when "--replicate_
Changed in maria: | |
status: | New → Confirmed |
Changed in percona-server: | |
status: | Confirmed → Fix Committed |
Changed in percona-server: | |
assignee: | Oleg Tsarev (tsarev) → Alexey Kopytov (akopytov) |
status: | Fix Committed → In Progress |
Changed in percona-server: | |
assignee: | Alexey Kopytov (akopytov) → Oleg Tsarev (tsarev) |
status: | In Progress → Fix Committed |
Changed in percona-server: | |
status: | Fix Committed → Fix Released |
Test-case for MariaDB