Details
-
New Feature
-
Status: Open (View Workflow)
-
Minor
-
Resolution: Unresolved
-
None
Description
MDEV-38907 “Relay Log auto-recovery” can be extended to non-GTID replication.
The challenge is, unlike GTID, which increments every event group (e.g., transaction), file-position increments every event.
This means the non-GTID mode must either
- truncate only the trailing corrupted event, not a whole group
- A downside is that this will become yet another difference from GTID replication.
- additionally rewind the file-position when truncating an entire group
- If (needs review) the @@master_info_file saving between events is safe, then because the binary log does not rotate in the middle of a group, @@master_info_file is reliable for reloading master_log_file, and only master_log_pos needs "recovery".
The worst case would be a master-side ROTATE_EVENT being the corrupted event, but it's okay to resume from the very end of the previous binary log.
- If (needs review) the @@master_info_file saving between events is safe, then because the binary log does not rotate in the middle of a group, @@master_info_file is reliable for reloading master_log_file, and only master_log_pos needs "recovery".
Attachments
Issue Links
- is part of
-
MDEV-8946 Add replication crash-safety for non-GTID slave.
-
- Open
-
- relates to
-
MDEV-37046
How does non-GTID replication implement this with crash compatibility?
-
- Closed
-
-
MDEV-37584 Optimize relay_log.info Flush
-
- Open
-
-
MDEV-38909
GTID State for Relay Log
-
- Open
-
- split from
-
MDEV-38907 Optimistic Relay Log Crash Recovery
-
- In Review
-