Syntax
------

MASTER_POS_WAIT(log_name,log_pos[,timeout,["connection_name"]])

Description
-----------

This function is useful in replication for controlling primary/replica
synchronization. It blocks until the replica has read and applied all updates
up to the specified position (log_name,log_pos) in the primary log. The return
value is the number of log events the replica had to wait for to advance to
the specified position. The function returns NULL if the replica SQL thread is
not started, the replica's primary information is not initialized, the
arguments are incorrect, or an error occurs. It returns -1 if the timeout has
been exceeded. If the replica SQL thread stops while MASTER_POS_WAIT() is
waiting, the function returns NULL. If the replica is past the specified
position, the function returns immediately.

If a timeout value is specified, MASTER_POS_WAIT() stops waiting when timeout
seconds have elapsed. timeout must be greater than 0; a zero or negative
timeout means no timeout.

The connection_name is used when you are using multi-source-replication. If
you don't specify it, it's set to the value of the default_master_connection
system variable.

Statements using the MASTER_POS_WAIT() function are not safe for replication.

URL: https://mariadb.com/kb/en/master_pos_wait/