diff options
Diffstat (limited to 'plugin')
-rw-r--r-- | plugin/semisync/semisync_master.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/plugin/semisync/semisync_master.cc b/plugin/semisync/semisync_master.cc index 36d1bf70a89..3fef4b67aac 100644 --- a/plugin/semisync/semisync_master.cc +++ b/plugin/semisync/semisync_master.cc @@ -608,6 +608,7 @@ int ReplSemiSyncMaster::commitTrx(const char* trx_wait_binlog_name, set_timespec(start_ts, 0); + DEBUG_SYNC(current_thd, "rpl_semisync_master_commit_trx_before_lock"); /* Acquire the mutex. */ lock(); @@ -738,15 +739,16 @@ int ReplSemiSyncMaster::commitTrx(const char* trx_wait_binlog_name, } } - l_end: /* At this point, the binlog file and position of this transaction must have been removed from ActiveTranx. */ assert(thd_killed(NULL) || + !getMasterEnabled() || !active_tranxs_->is_tranx_end_pos(trx_wait_binlog_name, trx_wait_binlog_pos)); + l_end: /* Update the status counter. */ if (is_on()) rpl_semi_sync_master_yes_transactions++; |