[MDEV-4698] With GTID replication, relay logs cannot be relied upon while purging binary logs on master Created: 2013-06-23 Updated: 2017-11-05 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | 10.0.10 |
| Fix Version/s: | 10.2 |
| Type: | Bug | Priority: | Major |
| Reporter: | Elena Stepanova | Assignee: | Andrei Elkin |
| Resolution: | Unresolved | Votes: | 3 |
| Labels: | gtid, replication | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Description |
|
I know from the corresponding thread on the mailing list that it is an intentional change for the sake of crash-safety, so it is just a documentation request. With traditional (binlog-position-based) replication it is quite possible and even reasonable to setup master binlog purging procedure based on the slave IO thread status: as soon as the IO thread is done with a master binary log and switched to the next one, all events are in the relay log, and the master binary log can be purged. It is efficient in the sense that if the slave thread is far behind, a lot of disk space can be spared by not storing the same events both in the master binlog and in the relay log; even more so if the server features the sql_delay (master_delay) functionality introduced in MySQL 5.6, and the slave is configured to keep a time gap with the master. So, all in all, I expect there are real-life configurations which rely on this behavior. Now, with GTID the relay logs are not stored on slave restart any longer, so users must not configure their purge procedure this way, but should use SQL thread position instead. It needs to be explicitly documented, because otherwise users can experience irreversible loss of events. |
| Comments |
| Comment by Kristian Nielsen [ 2013-11-22 ] |
|
Monty thinks that we need to fix GTID, so that slave can continue replication The main challenge regarding this is that this must be 100% crash safe, Another challenge is to correctly handle things like START SLAVE UNTIL But one needs to consider what should happen if gtid strict mode was |