24#ifndef GR_GROUP_ACTIONS_TRANSACTION_CONTROLLER_INCLUDED
25#define GR_GROUP_ACTIONS_TRANSACTION_CONTROLLER_INCLUDED
167 mysql_close_connection_of_binloggable_transaction_not_reached_commit) *
Class for creating a new thread that allows to stop the new transactions allowing some management que...
Definition: group_actions_transaction_controller.h:38
mysql_service_mysql_before_commit_transaction_control_t * m_mysql_before_commit_transaction_control
Pointer to the mysql_before_commit_transaction_control service.
Definition: group_actions_transaction_controller.h:159
mysql_cond_t m_run_cond
the cond_var used to signal the thread.
Definition: group_actions_transaction_controller.h:136
Transaction_monitor_thread(const Transaction_monitor_thread &)=delete
Deleted copy constructor.
bool m_abort
flag to indicate whether or not the thread is to be aborted.
Definition: group_actions_transaction_controller.h:138
bool terminate()
Terminates the thread.
Definition: group_actions_transaction_controller.cc:150
mysql_mutex_t m_run_lock
the mutex for controlling access to the thread itself.
Definition: group_actions_transaction_controller.h:134
Transaction_monitor_thread(const Transaction_monitor_thread &&)=delete
Deleted move constructor.
~Transaction_monitor_thread()
The destructor for the thread will destroy the mutex and cond_var.
Definition: group_actions_transaction_controller.cc:42
void transaction_thread_handle()
The thread handle, i.e.
Definition: group_actions_transaction_controller.cc:218
mysql_service_mysql_close_connection_of_binloggable_transaction_not_reached_commit_t * m_mysql_close_connection_of_binloggable_transaction_not_reached_commit
Pointer to the mysql_close_connection_of_binloggable_transaction_not_reached_commit service.
Definition: group_actions_transaction_controller.h:168
mysql_service_mysql_new_transaction_control_t * m_mysql_new_transaction_control
Pointer to the mysql_new_transaction_control_imp service.
Definition: group_actions_transaction_controller.h:153
Transaction_monitor_thread & operator=(const Transaction_monitor_thread &&)=delete
Deleted move operator.
my_thread_handle m_handle
the thread handle.
Definition: group_actions_transaction_controller.h:132
int32 m_transaction_timeout
The number of seconds to wait before setting the THD::KILL_CONNECTION flag for the transactions that ...
Definition: group_actions_transaction_controller.h:143
bool release_services()
This function releases the services.
Definition: group_actions_transaction_controller.cc:113
int start()
Starts the process of monitoring transactions.
Definition: group_actions_transaction_controller.cc:172
static void * launch_thread(void *arg)
The thread callback passed onto mysql_thread_create.
Definition: group_actions_transaction_controller.cc:28
bool acquire_services()
This function acquires the below services: mysql_new_transaction_control mysql_before_commit_transact...
Definition: group_actions_transaction_controller.cc:47
Transaction_monitor_thread & operator=(const Transaction_monitor_thread &)=delete
Deleted assignment operator.
thread_state m_transaction_monitor_thd_state
the state of the thread.
Definition: group_actions_transaction_controller.h:130
std::chrono::time_point< std::chrono::steady_clock > m_time_start_of_operation
Stores operation start time.
Definition: group_actions_transaction_controller.h:147
int32_t int32
Definition: my_inttypes.h:66
uint32_t uint32
Definition: my_inttypes.h:67
#define SERVICE_TYPE_NO_CONST(name)
Generates the standard Service type name.
Definition: service.h:71
Definition: my_thread_bits.h:58
An instrumented cond structure.
Definition: mysql_cond_bits.h:50
An instrumented mutex structure.
Definition: mysql_mutex_bits.h:50
Definition: plugin_utils.h:48