MySQL  8.0.21
Source Code Documentation
semisync_master.h File Reference
#include <sys/types.h>
#include "my_dbug.h"
#include "my_inttypes.h"
#include "my_io.h"
#include "my_psi_config.h"
#include "plugin/semisync/semisync.h"

Go to the source code of this file.

Classes

struct  TranxNode
 
class  TranxNodeAllocator
 This class provides memory allocating and freeing methods for TranxNode. More...
 
struct  TranxNodeAllocator::Block
 A sequence memory which contains BLOCK_TRANX_NODES TranxNodes. More...
 
class  ActiveTranx
 This class manages memory for active transaction list. More...
 
struct  AckInfo
 AckInfo is a POD. More...
 
class  AckContainer
 AckContainer stores received acks internally and tell the caller the ack's position when a transaction is fully acknowledged, so it can wake up the waiting transactions. More...
 
class  ReplSemiSyncMaster
 The extension class for the master of semi-synchronous replication. More...
 

Macros

#define BLOCK_TRANX_NODES   16
 

Variables

PSI_memory_key key_ss_memory_TranxNodeAllocator_block
 
PSI_mutex_key key_ss_mutex_LOCK_binlog_
 
PSI_cond_key key_ss_cond_COND_binlog_send_
 
PSI_stage_info stage_waiting_for_semi_sync_ack_from_slave
 
PSI_stage_info stage_waiting_for_semi_sync_slave
 
PSI_stage_info stage_reading_semi_sync_ack
 
unsigned int rpl_semi_sync_master_wait_for_slave_count
 
bool rpl_semi_sync_master_enabled
 
char rpl_semi_sync_master_status
 
unsigned long rpl_semi_sync_master_clients
 
unsigned long rpl_semi_sync_master_timeout
 
unsigned long rpl_semi_sync_master_trace_level
 
unsigned long rpl_semi_sync_master_yes_transactions
 
unsigned long rpl_semi_sync_master_no_transactions
 
unsigned long rpl_semi_sync_master_off_times
 
unsigned long rpl_semi_sync_master_wait_timeouts
 
unsigned long rpl_semi_sync_master_timefunc_fails
 
unsigned long rpl_semi_sync_master_num_timeouts
 
unsigned long rpl_semi_sync_master_wait_sessions
 
unsigned long rpl_semi_sync_master_wait_pos_backtraverse
 
unsigned long rpl_semi_sync_master_avg_trx_wait_time
 
unsigned long rpl_semi_sync_master_avg_net_wait_time
 
unsigned long long rpl_semi_sync_master_net_wait_num
 
unsigned long long rpl_semi_sync_master_trx_wait_num
 
unsigned long long rpl_semi_sync_master_net_wait_time
 
unsigned long long rpl_semi_sync_master_trx_wait_time
 
bool rpl_semi_sync_master_wait_no_slave
 

Macro Definition Documentation

◆ BLOCK_TRANX_NODES

#define BLOCK_TRANX_NODES   16

Variable Documentation

◆ key_ss_cond_COND_binlog_send_

PSI_cond_key key_ss_cond_COND_binlog_send_

◆ key_ss_memory_TranxNodeAllocator_block

PSI_memory_key key_ss_memory_TranxNodeAllocator_block

◆ key_ss_mutex_LOCK_binlog_

PSI_mutex_key key_ss_mutex_LOCK_binlog_

◆ rpl_semi_sync_master_avg_net_wait_time

unsigned long rpl_semi_sync_master_avg_net_wait_time

◆ rpl_semi_sync_master_avg_trx_wait_time

unsigned long rpl_semi_sync_master_avg_trx_wait_time

◆ rpl_semi_sync_master_clients

unsigned long rpl_semi_sync_master_clients

◆ rpl_semi_sync_master_enabled

bool rpl_semi_sync_master_enabled

◆ rpl_semi_sync_master_net_wait_num

unsigned long long rpl_semi_sync_master_net_wait_num

◆ rpl_semi_sync_master_net_wait_time

unsigned long long rpl_semi_sync_master_net_wait_time

◆ rpl_semi_sync_master_no_transactions

unsigned long rpl_semi_sync_master_no_transactions

◆ rpl_semi_sync_master_num_timeouts

unsigned long rpl_semi_sync_master_num_timeouts

◆ rpl_semi_sync_master_off_times

unsigned long rpl_semi_sync_master_off_times

◆ rpl_semi_sync_master_status

char rpl_semi_sync_master_status

◆ rpl_semi_sync_master_timefunc_fails

unsigned long rpl_semi_sync_master_timefunc_fails

◆ rpl_semi_sync_master_timeout

unsigned long rpl_semi_sync_master_timeout

◆ rpl_semi_sync_master_trace_level

unsigned long rpl_semi_sync_master_trace_level

◆ rpl_semi_sync_master_trx_wait_num

unsigned long long rpl_semi_sync_master_trx_wait_num

◆ rpl_semi_sync_master_trx_wait_time

unsigned long long rpl_semi_sync_master_trx_wait_time

◆ rpl_semi_sync_master_wait_for_slave_count

unsigned int rpl_semi_sync_master_wait_for_slave_count

◆ rpl_semi_sync_master_wait_no_slave

bool rpl_semi_sync_master_wait_no_slave

◆ rpl_semi_sync_master_wait_pos_backtraverse

unsigned long rpl_semi_sync_master_wait_pos_backtraverse

◆ rpl_semi_sync_master_wait_sessions

unsigned long rpl_semi_sync_master_wait_sessions

◆ rpl_semi_sync_master_wait_timeouts

unsigned long rpl_semi_sync_master_wait_timeouts

◆ rpl_semi_sync_master_yes_transactions

unsigned long rpl_semi_sync_master_yes_transactions

◆ stage_reading_semi_sync_ack

PSI_stage_info stage_reading_semi_sync_ack

◆ stage_waiting_for_semi_sync_ack_from_slave

PSI_stage_info stage_waiting_for_semi_sync_ack_from_slave

◆ stage_waiting_for_semi_sync_slave

PSI_stage_info stage_waiting_for_semi_sync_slave