23 #ifndef PLUGIN_INCLUDE 24 #define PLUGIN_INCLUDE 116 using mask = std::bitset<NUM_MODULES>;
169 char **error_message =
nullptr,
170 bool rejoin =
false);
int get_flow_control_member_quota_percent_var()
Definition: plugin.cc:247
unsigned long long int ulonglong
Definition: my_inttypes.h:55
Blocked_transaction_handler * blocked_transaction_handler
The handler for transaction killing when an error or partition happens.
Definition: plugin.cc:105
static MYSQL_PLUGIN plugin_info
Definition: rewriter_plugin.cc:71
Message_service_handler * message_service_handler
The thread that handles the message service process.
Definition: plugin.cc:117
Primary_election_handler * primary_election_handler
The primary election handler.
Definition: plugin.cc:109
Ticket register/wait auxiliary class.
Definition: plugin_utils.h:487
int rpl_sidno
Type of SIDNO (source ID number, first component of GTID)
Definition: rpl_gtid.h:93
A class to hold different channel observation manager.
Definition: channel_observation_manager.h:64
void set_wait_on_start_process(bool cond)
Set condition to block or unblock the calling threads.
Definition: plugin.cc:284
Shared_writelock * shared_plugin_stop_lock
Class to coordinate access to the plugin stop lock.
Definition: plugin.cc:99
Delayed_initialization_thread * delayed_initialization_thread
Initialization thread for server starts.
Definition: plugin.cc:101
int is_running(task_env *t)
Definition: task.c:1634
bool get_allow_local_lower_version_join()
Definition: plugin.cc:2181
ulong get_exit_state_action_var()
Definition: plugin.cc:227
Hold_transactions * hold_transactions
Hold transaction mechanism.
Definition: plugin.cc:111
int plugin_group_replication_deinit(void *p)
Definition: plugin.cc:1666
Definition: delayed_plugin_initialization.h:28
bool plugin_get_group_member_stats(uint index, const GROUP_REPLICATION_GROUP_MEMBER_STATS_CALLBACKS &callbacks)
Definition: plugin.cc:378
Definition: plugin_utils.h:787
ulong get_components_stop_timeout_var()
Definition: plugin.cc:261
Definition: recovery.h:44
#define SERVICE_TYPE(name)
Definition: member_info.h:573
void enable_server_shutdown_status()
Definition: plugin.cc:213
Coordinates all operations to GCS interface.
Definition: gcs_operations.h:41
Definition: group_partition_handling.h:29
Definition: compatibility_module.h:39
Transaction_consistency_manager * transaction_consistency_manager
The plugin transaction consistency manager.
Definition: plugin.cc:97
Definition: plugin_group_replication.h:53
long get_flow_control_applier_threshold_var()
Definition: plugin.cc:235
bool get_server_shutdown_status()
Definition: plugin.cc:215
bool get_plugin_is_setting_read_mode()
Definition: plugin.cc:221
int plugin_group_replication_set_retrieved_certification_info(void *info)
Method to set retrieved certification info from a recovery channel extracted from a given View_change...
Definition: plugin.cc:198
int get_flow_control_release_percent_var()
Definition: plugin.cc:257
Definition: member_info.h:78
int plugin_group_replication_stop(char **error_message=NULL)
Definition: plugin.cc:970
Gcs_operations * gcs_module
The plugin modules.
Definition: plugin.cc:81
long get_flow_control_min_recovery_quota_var()
Definition: plugin.cc:241
bool get_plugin_is_stopping()
Definition: plugin.cc:207
const mysql_service_registry_t * get_plugin_registry()
Definition: plugin.cc:2204
bool is_plugin_waiting_to_set_server_read_mode()
Definition: plugin.cc:2191
long get_flow_control_max_quota_var()
Definition: plugin.cc:245
int plugin_group_replication_start(char **error_message=NULL)
Definition: plugin.cc:387
void set_single_primary_mode_var(bool option)
Definition: plugin.cc:2200
Wait_ticket< my_thread_id > * transactions_latch
Transactions latch.
Definition: plugin.cc:95
void set_enforce_update_everywhere_checks(bool option)
Definition: plugin.cc:2196
Group_transaction_observation_manager * group_transaction_observation_manager
The transaction observation module.
Definition: plugin.cc:92
bool initiate_wait_on_start_process()
Blocks the calling thread.
Definition: plugin.cc:291
Definition: group_transaction_observation_manager.h:86
int get_flow_control_hold_percent_var()
Definition: plugin.cc:253
void reset_auto_increment_handler_values(bool force_reset=false)
Definition: plugin.cc:1893
int terminate_plugin_modules(gr_modules::mask modules_to_terminate, char **error_message=nullptr, bool rejoin=false)
Definition: plugin.cc:1198
structure to define some default "config_option" option settings
Definition: innodb_config.h:180
char * index(const char *, int c)
Definition: mysql.cc:2862
Plugin_waitlock * get_plugin_online_lock()
Definition: asynchronous_channels_state_observer.h:29
Autorejoin_thread * autorejoin_module
The thread that handles the auto-rejoin process.
Definition: plugin.cc:113
Definition: plugin_utils.h:699
bool plugin_get_connection_status(const GROUP_REPLICATION_CONNECTION_STATUS_CALLBACKS &callbacks)
Definition: plugin.cc:346
bool check_async_channel_running_on_secondary()
Definition: plugin.cc:2099
Definition: applier.h:281
rpl_sidno get_group_sidno()
Definition: plugin.cc:202
Channel_observation_manager_list * channel_observation_manager_list
The channel observation modules.
Definition: plugin.cc:87
bool plugin_is_group_replication_cloning()
Definition: plugin.cc:186
void * MYSQL_PLUGIN
Definition: plugin.h:73
Class that contains the logic to hold transactions when group_replication_consistency is set to BEFOR...
Definition: hold_transactions.h:35
Group_events_observation_manager * group_events_observation_manager
The observation module for group events.
Definition: plugin.cc:85
This is the interface for the registrty module.
Definition: registry.h:37
bool plugin_is_group_replication_running()
Definition: plugin.cc:182
void set_error_state_due_to_error_during_autorejoin()
Definition: plugin.cc:265
This struct provides a namespace for the GR layer components.
Definition: plugin.h:89
Class that hold the logic to decide if we should or not execute a clone operation and the logic to la...
Definition: remote_clone_handler.h:34
long get_flow_control_certifier_threshold_var()
Definition: plugin.cc:231
Plugin_gcs_events_handler * events_handler
Definition: plugin.cc:119
unsigned int uint
Definition: uca-dump.cc:29
enum_exit_state_action
Action performed when the member leaves the group unexpectedly.
Definition: plugin.h:80
void register_server_reset_master()
Definition: plugin.cc:2179
Group_member_info * local_member_info
Definition: plugin.cc:124
bool is_plugin_auto_starting_on_non_bootstrap_member()
Definition: plugin.cc:190
bool plugin_get_group_members(uint index, const GROUP_REPLICATION_GROUP_MEMBERS_CALLBACKS &callbacks)
Definition: plugin.cc:354
Definition: plugin_group_replication.h:72
Remote_clone_handler * remote_clone_handler
The handler to invoke clone.
Definition: plugin.cc:115
Applier_module * applier_module
The plugin applier.
Definition: plugin.cc:77
uint plugin_get_group_members_number()
Definition: plugin.cc:367
bool get_wait_on_engine_initialization()
Definition: plugin.cc:209
int initialize_plugin_and_join(enum_plugin_con_isolation sql_api_isolation, Delayed_initialization_thread *delayed_init_thd)
Definition: plugin.cc:523
long get_flow_control_min_quota_var()
Definition: plugin.cc:239
Definition: plugin_group_replication.h:97
Asynchronous_channels_state_observer * asynchronous_channels_state_observer
The Single primary channel observation module.
Definition: plugin.cc:89
int get_flow_control_period_var()
Definition: plugin.cc:251
int plugin_group_replication_init(MYSQL_PLUGIN plugin_info)
Definition: plugin.cc:1539
static constexpr mask all_modules
Definition: plugin.h:117
const char * get_group_name_var()
Definition: plugin.cc:225
Group_partition_handling * group_partition_handler
The transaction handler for network partitions.
Definition: plugin.cc:103
void set_auto_increment_handler_values()
Definition: plugin.cc:1888
void set_plugin_is_setting_read_mode(bool value)
Definition: plugin.cc:217
bool get_error_state_due_to_error_during_autorejoin()
Definition: plugin.cc:269
Group_member_info_manager_interface * group_member_mgr
Definition: plugin.cc:123
Class alerts listeners of group events like view changes and elections.
Definition: group_event_observer.h:86
int initialize_plugin_modules(gr_modules::mask modules_to_init)
Definition: plugin.cc:1065
An instrumented mutex structure.
Definition: mysql_mutex_bits.h:49
bool is_plugin_configured_and_starting()
Definition: plugin.cc:194
Represents and encapsulates the logic responsible for handling the auto-rejoin process within Group R...
Definition: autorejoin.h:48
ulonglong get_rejoin_timeout()
Definition: plugin.cc:277
The base class to request and execute an election.
Definition: primary_election_invocation_handler.h:40
ulong get_flow_control_mode_var()
Definition: plugin.cc:229
The consistency information of all ongoing transactions which have consistency GROUP_REPLICATION_CONS...
Definition: consistency_manager.h:206
void terminate_wait_on_start_process(bool abort=false)
Release all the blocked threads.
Definition: plugin.cc:308
uint get_number_of_autorejoin_tries()
Definition: plugin.cc:275
API for Group Replication plugin.
ulong get_transaction_size_limit()
Definition: plugin.cc:2186
Group_action_coordinator * group_action_coordinator
The coordinator for group actions.
Definition: plugin.cc:107
#define NULL
Definition: types.h:55
void declare_plugin_cloning(bool is_running)
Definition: plugin.cc:1827
Definition: gcs_event_handlers.h:57
const char * p
Definition: ctype-mb.cc:1232
const string value("\alue\)
bool attempt_rejoin()
Encapsulates the logic necessary to attempt a rejoin, i.e.
Definition: plugin.cc:1412
std::bitset< NUM_MODULES > mask
Definition: plugin.h:116
Handles the deliver of recv service messages to subscribed modules.
Definition: message_service.h:44
void * get_plugin_pointer()
Definition: plugin.cc:178
enum_channel_observation_manager_position
Position of channel observation manager's in channel_observation_manager_list.
Definition: plugin.h:69
static const sasl_callback_t callbacks[]
Definition: auth_ldap_sasl_client.h:40
Definition: plugin_utils.h:95
gr_modules_enum
Represents the GR layer modules that can be initialized and/or terminated at will while the plugin is...
Definition: plugin.h:96
unsigned long ulong
Definition: my_inttypes.h:48
The coordinator class where group actions are submitted.
Definition: group_action_coordinator.h:53
MYSQL_PLUGIN_VAR_HEADER
Definition: plugin.h:63
bool server_engine_initialized()
Definition: plugin.cc:2174
mysql_mutex_t * get_plugin_running_lock()
Definition: plugin.cc:180
Compatibility_module * compatibility_mgr
Definition: plugin.cc:127
Recovery_module * recovery_module
The plugin recovery module.
Definition: plugin.cc:79
bool is_autorejoin_enabled()
Definition: plugin.cc:273
enum_plugin_con_isolation
What is the policy when creation a new server session for SQL execution.
Definition: sql_service_command.h:37
Registry_module_interface * registry_module
The registry module.
Definition: plugin.cc:83