mirror of
https://github.com/MariaDB/server.git
synced 2026-05-09 16:44:29 +02:00
MDEV-26352 : Add new thread states for certain WSREP scenarios
This adds following new thread states: * waiting to execute in isolation - DDL is waiting to execute in TOI mode. * waiting for TOI DDL - some other statement is waiting for DDL to complete. * waiting for flow control - some statement is paused while flow control is in effect. * waiting for certification - the transaction is being certified.
This commit is contained in:
parent
21ce69123c
commit
1bc82aaf0a
15 changed files with 137 additions and 51 deletions
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright 2016-2019 Codership Oy <http://www.codership.com>
|
||||
/* Copyright 2016-2021 Codership Oy <http://www.codership.com>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -272,12 +272,14 @@ static inline int wsrep_before_commit(THD* thd, bool all)
|
|||
WSREP_DEBUG("wsrep_before_commit: %d, %lld",
|
||||
wsrep_is_real(thd, all),
|
||||
(long long)wsrep_thd_trx_seqno(thd));
|
||||
THD_STAGE_INFO(thd, stage_waiting_certification);
|
||||
int ret= 0;
|
||||
DBUG_ASSERT(wsrep_run_commit_hook(thd, all));
|
||||
|
||||
if ((ret= thd->wsrep_cs().before_commit()) == 0)
|
||||
{
|
||||
DBUG_ASSERT(!thd->wsrep_trx().ws_meta().gtid().is_undefined());
|
||||
if (!thd->variables.gtid_seq_no &&
|
||||
if (!thd->variables.gtid_seq_no &&
|
||||
(thd->wsrep_trx().ws_meta().flags() & wsrep::provider::flag::commit))
|
||||
{
|
||||
uint64 seqno= 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue