MySQL 9.0.0
Source Code Documentation
semisync_source.h File Reference
#include <assert.h>
#include <sys/types.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_replica
 
PSI_stage_info stage_waiting_for_semi_sync_replica
 
PSI_stage_info stage_reading_semi_sync_ack
 
unsigned int rpl_semi_sync_source_wait_for_replica_count
 
bool rpl_semi_sync_source_enabled
 
char rpl_semi_sync_source_status
 
unsigned long rpl_semi_sync_source_clients
 
unsigned long rpl_semi_sync_source_timeout
 
unsigned long rpl_semi_sync_source_trace_level
 
unsigned long rpl_semi_sync_source_yes_transactions
 
unsigned long rpl_semi_sync_source_no_transactions
 
unsigned long rpl_semi_sync_source_off_times
 
unsigned long rpl_semi_sync_source_wait_timeouts
 
unsigned long rpl_semi_sync_source_timefunc_fails
 
unsigned long rpl_semi_sync_source_num_timeouts
 
unsigned long rpl_semi_sync_source_wait_sessions
 
unsigned long rpl_semi_sync_source_wait_pos_backtraverse
 
unsigned long rpl_semi_sync_source_avg_trx_wait_time
 
unsigned long rpl_semi_sync_source_avg_net_wait_time
 
unsigned long long rpl_semi_sync_source_net_wait_num
 
unsigned long long rpl_semi_sync_source_trx_wait_num
 
unsigned long long rpl_semi_sync_source_net_wait_time
 
unsigned long long rpl_semi_sync_source_trx_wait_time
 
bool rpl_semi_sync_source_wait_no_replica
 

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_
extern

◆ key_ss_memory_TranxNodeAllocator_block

PSI_memory_key key_ss_memory_TranxNodeAllocator_block
extern

◆ key_ss_mutex_LOCK_binlog_

PSI_mutex_key key_ss_mutex_LOCK_binlog_
extern

◆ rpl_semi_sync_source_avg_net_wait_time

unsigned long rpl_semi_sync_source_avg_net_wait_time
extern

◆ rpl_semi_sync_source_avg_trx_wait_time

unsigned long rpl_semi_sync_source_avg_trx_wait_time
extern

◆ rpl_semi_sync_source_clients

unsigned long rpl_semi_sync_source_clients
extern

◆ rpl_semi_sync_source_enabled

bool rpl_semi_sync_source_enabled
extern

◆ rpl_semi_sync_source_net_wait_num

unsigned long long rpl_semi_sync_source_net_wait_num
extern

◆ rpl_semi_sync_source_net_wait_time

unsigned long long rpl_semi_sync_source_net_wait_time
extern

◆ rpl_semi_sync_source_no_transactions

unsigned long rpl_semi_sync_source_no_transactions
extern

◆ rpl_semi_sync_source_num_timeouts

unsigned long rpl_semi_sync_source_num_timeouts
extern

◆ rpl_semi_sync_source_off_times

unsigned long rpl_semi_sync_source_off_times
extern

◆ rpl_semi_sync_source_status

char rpl_semi_sync_source_status
extern

◆ rpl_semi_sync_source_timefunc_fails

unsigned long rpl_semi_sync_source_timefunc_fails
extern

◆ rpl_semi_sync_source_timeout

unsigned long rpl_semi_sync_source_timeout
extern

◆ rpl_semi_sync_source_trace_level

unsigned long rpl_semi_sync_source_trace_level
extern

◆ rpl_semi_sync_source_trx_wait_num

unsigned long long rpl_semi_sync_source_trx_wait_num
extern

◆ rpl_semi_sync_source_trx_wait_time

unsigned long long rpl_semi_sync_source_trx_wait_time
extern

◆ rpl_semi_sync_source_wait_for_replica_count

unsigned int rpl_semi_sync_source_wait_for_replica_count
extern

◆ rpl_semi_sync_source_wait_no_replica

bool rpl_semi_sync_source_wait_no_replica
extern

◆ rpl_semi_sync_source_wait_pos_backtraverse

unsigned long rpl_semi_sync_source_wait_pos_backtraverse
extern

◆ rpl_semi_sync_source_wait_sessions

unsigned long rpl_semi_sync_source_wait_sessions
extern

◆ rpl_semi_sync_source_wait_timeouts

unsigned long rpl_semi_sync_source_wait_timeouts
extern

◆ rpl_semi_sync_source_yes_transactions

unsigned long rpl_semi_sync_source_yes_transactions
extern

◆ stage_reading_semi_sync_ack

PSI_stage_info stage_reading_semi_sync_ack
extern

◆ stage_waiting_for_semi_sync_ack_from_replica

PSI_stage_info stage_waiting_for_semi_sync_ack_from_replica
extern

◆ stage_waiting_for_semi_sync_replica

PSI_stage_info stage_waiting_for_semi_sync_replica
extern