1# ==== Purpose ====
2#
3# Sync the slave SQL thread with the IO thread.
4#
5# ==== Usage ====
6#
7# [--let $slave_timeout= NUMBER]
8# [--let $rpl_debug= 1]
9# --source include/sync_slave_sql_with_io.inc
10#
11# Parameters:
12#   $slave_timeout
13#     By default, the synchronization timeouts after 300 seconds. If
14#     $slave_timeout is set, the synchronization timeouts after
15#     $slave_timeout seconds.
16#
17#   $rpl_debug
18#     See include/rpl_init.inc
19
20
21--let $include_filename= sync_slave_sql_with_io.inc
22--source include/begin_include_file.inc
23
24
25let $_slave_timeout= $slave_timeout;
26if (!$_slave_timeout)
27{
28  let $_slave_timeout= 300;
29  if ($VALGRIND_TEST)
30  {
31    let $_slave_timeout= 1500;
32  }
33}
34
35--let $_master_log_file= query_get_value(SHOW SLAVE STATUS, Master_Log_File, 1)
36--let $_master_log_pos= query_get_value(SHOW SLAVE STATUS, Read_Master_Log_Pos, 1)
37
38if ($rpl_debug)
39{
40  --echo Master_Log_File='$_master_log_file' Read_Master_Log_Pos='$_master_log_pos' \$slave_timeout='$_slave_timeout'
41}
42
43--let $_sync_slave_sql_with_io_errno= `SELECT MASTER_POS_WAIT('$_master_log_file', $_master_log_pos, $_slave_timeout)`
44if (`SELECT IFNULL($_sync_slave_sql_with_io_errno, -1) < 0`)
45{
46  --echo #### Failed to sync slave SQL thread with slave IO thread. ####
47  --echo MASTER_POS_WAIT('$_master_log_file', $_master_log_pos, $_slave_timeout) returned $_sync_slave_sql_with_io_errno
48  --source include/show_rpl_debug_info.inc
49  --die Failed to sync slave SQL thread with slave IO thread.
50}
51
52
53--let $include_filename= sync_slave_sql_with_io.inc
54--source include/end_include_file.inc
55