23#ifndef SERVER_ONGOING_TRANSACTIONS_HANDLER_INCLUDED
24#define SERVER_ONGOING_TRANSACTIONS_HANDLER_INCLUDED
70 ulong gr_consistency_level, ulong hold_timeout,
72 const THD *thd)
override;
Listener for transaction life cycle events.
Definition: group_transaction_observation_manager.h:32
enum_transaction_origin
Enum for transaction origins.
Definition: group_transaction_observation_manager.h:35
Definition: stage_monitor_handler.h:29
Definition: server_ongoing_transactions_handler.h:31
Plugin_stage_monitor_handler * stage_handler
A stage handler for reporting progress.
Definition: server_ongoing_transactions_handler.h:98
mysql_mutex_t query_wait_lock
The lock for the query wait.
Definition: server_ongoing_transactions_handler.h:92
bool get_server_running_transactions(ulong **ids, ulong *size)
Get the list of running transactions from the server.
Definition: server_ongoing_transactions_handler.cc:56
Server_ongoing_transactions_handler()
Initialize the class and get the server service.
Definition: server_ongoing_transactions_handler.cc:29
~Server_ongoing_transactions_handler() override
Class destructor.
Definition: server_ongoing_transactions_handler.cc:45
bool initialize_server_service(Plugin_stage_monitor_handler *stage_handler)
Fetch the registry and the service for this class.
Definition: server_ongoing_transactions_handler.cc:35
int before_commit(my_thread_id thread_id, Group_transaction_listener::enum_transaction_origin origin) override
Executed before commit.
Definition: server_ongoing_transactions_handler.cc:138
int before_transaction_begin(my_thread_id thread_id, ulong gr_consistency_level, ulong hold_timeout, enum_rpl_channel_type rpl_channel_type, const THD *thd) override
Executed before a transaction begins.
Definition: server_ongoing_transactions_handler.cc:133
std::queue< my_thread_id > thread_ids_finished
The transactions that finished while the service is running.
Definition: server_ongoing_transactions_handler.h:89
void abort_waiting_process()
Abort any running waiting process.
int after_rollback(my_thread_id thread_id) override
Executed after rollback.
Definition: server_ongoing_transactions_handler.cc:149
my_h_service generic_service
The server service handle.
Definition: server_ongoing_transactions_handler.h:95
int wait_for_current_transaction_load_execution(bool *abort_flag, my_thread_id id_to_ignore=0)
Gets running transactions and waits for its end.
Definition: server_ongoing_transactions_handler.cc:70
int after_commit(my_thread_id thread_id, rpl_sidno sidno, rpl_gno gno) override
Executed after commit.
Definition: server_ongoing_transactions_handler.cc:156
int before_rollback(my_thread_id thread_id, Group_transaction_listener::enum_transaction_origin origin) override
Executed before rollback.
Definition: server_ongoing_transactions_handler.cc:143
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:35
struct my_h_service_imp * my_h_service
A handle type for acquired Service.
Definition: registry.h:32
static my_thread_id thread_id
Definition: my_thr_init.cc:62
uint32 my_thread_id
Definition: my_thread_local.h:33
enum_rpl_channel_type
Type of replication channel thread/transaction might be associated to.
Definition: rpl_context.h:49
mysql::gtid::gno_t rpl_gno
GNO, the second (numeric) component of a GTID, is an alias of mysql::gtid::gno_t.
Definition: rpl_gtid.h:111
cs::index::rpl_sidno rpl_sidno
Type of SIDNO (source ID number, first component of GTID)
Definition: rpl_gtid.h:107
An instrumented mutex structure.
Definition: mysql_mutex_bits.h:49