1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-30 05:23:50 +03:00
Files
mariadb/mysql-test/suite/rpl/t
Andrei Elkin 0c1f97b3ab MDEV-15152 Optimistic parallel slave doesnt cope well with START SLAVE UNTIL
The immediate bug was caused by a failure to recognize a correct
position to stop the slave applier run in optimistic parallel mode.
There were the following set of issues that the analysis unveil.
1 incorrect estimate for the event binlog position passed to
  is_until_satisfied
2 wait for workers to complete by the driver thread did not account non-group events
  that could be left unprocessed and thus to mix up the last executed
  binlog group's file and position:
  the file remained old and the position related to the new rotated file
3 incorrect 'slave reached file:pos' by the parallel slave report in the error log
4 relay log UNTIL missed out the parallel slave branch in
  is_until_satisfied.

The patch addresses all of them to simplify logics of log change
notification in either the master and relay-log until case.
P.1 is addressed with passing the event into is_until_satisfied()
for proper analisis by the function.
P.2 is fixed by changes in handle_queued_pos_update().
P.4 required removing relay-log change notification by workers.
Instead the driver thread updates the notion of the current relay-log
fully itself with aid of introduced
bool Relay_log_info::until_relay_log_names_defer.

An extra print out of the requested until file:pos is arranged
with --log-warning=3.
2020-05-26 18:49:43 +03:00
..
2011-12-12 23:58:40 +01:00
2014-03-18 16:26:02 +02:00
2011-10-19 21:45:18 +02:00
2012-01-16 20:16:35 +01:00
2011-10-19 21:45:18 +02:00
2015-06-28 18:51:40 +02:00
2020-05-20 11:13:40 +03:00
2017-09-22 02:27:00 +02:00
2014-02-01 00:54:03 +01:00
2014-01-22 15:29:36 +01:00
2019-03-27 12:26:11 +02:00
2017-02-10 06:30:42 -05:00
2017-02-10 06:30:42 -05:00
2017-02-10 06:30:42 -05:00
2016-12-05 20:19:01 +02:00
2011-10-19 21:45:18 +02:00
2011-10-19 21:45:18 +02:00
2011-10-19 21:45:18 +02:00
2017-02-10 06:30:42 -05:00
2012-03-02 08:32:16 +01:00