summaryrefslogtreecommitdiff
path: root/sql/rpl_rli.cc
diff options
context:
space:
mode:
authorsachin <sachin.setiya@mariadb.com>2021-03-11 21:59:13 +0000
committersachin <sachin.setiya@mariadb.com>2021-03-11 21:59:13 +0000
commit3ad829d31aeb56cd76331d3478a1d8e04ed7300a (patch)
treee855752cc9ed8b90b67b89b51336ac26ed977f7a /sql/rpl_rli.cc
parent4b4a020d1ce15275689fc307b8d13c107e6a41be (diff)
downloadmariadb-git-queue-v1.tar.gz
commit 5queue-v1
Diffstat (limited to 'sql/rpl_rli.cc')
-rw-r--r--sql/rpl_rli.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/sql/rpl_rli.cc b/sql/rpl_rli.cc
index 8b540863e31..a914378de48 100644
--- a/sql/rpl_rli.cc
+++ b/sql/rpl_rli.cc
@@ -1418,7 +1418,7 @@ bool Relay_log_info::is_until_satisfied(Log_event *ev)
bool Relay_log_info::stmt_done(my_off_t event_master_log_pos, THD *thd,
- rpl_group_info *rgi)
+ rpl_group_info *rgi, Log_event *ev)
{
int error= 0;
DBUG_ENTER("Relay_log_info::stmt_done");
@@ -1481,6 +1481,13 @@ bool Relay_log_info::stmt_done(my_off_t event_master_log_pos, THD *thd,
if (rgi->is_parallel_exec)
mysql_mutex_unlock(&data_lock);
}
+ if(mi->rpl_queue && ev->get_type_code() == QUERY_EVENT)
+ {
+ Query_log_event *qev= (Query_log_event* )ev;
+ if (!qev->is_commit() && !qev->is_rollback())
+ mi->rpl_queue->dequeue_by_tail_ptr((uchar *)ev+
+ sizeof(*(Query_log_event *)this));
+ }
DBUG_EXECUTE_IF("inject_crash_after_flush_rli", DBUG_SUICIDE(););
}
DBUG_RETURN(error);