MySQL 8.4.2
Source Code Documentation
|
#include <mysql/components/services/mysql_runtime_error_service.h>
#include <mysql/plugin.h>
#include <mysql/plugin_group_replication.h>
#include "plugin/group_replication/include/applier.h"
#include "plugin/group_replication/include/asynchronous_channels_state_observer.h"
#include "plugin/group_replication/include/auto_increment.h"
#include "plugin/group_replication/include/compatibility_module.h"
#include "plugin/group_replication/include/delayed_plugin_initialization.h"
#include "plugin/group_replication/include/gcs_event_handlers.h"
#include "plugin/group_replication/include/gcs_operations.h"
#include "plugin/group_replication/include/gcs_view_modification_notifier.h"
#include "plugin/group_replication/include/group_actions/group_action_coordinator.h"
#include "plugin/group_replication/include/plugin_constants.h"
#include "plugin/group_replication/include/plugin_handlers/group_partition_handling.h"
#include "plugin/group_replication/include/plugin_handlers/primary_election_invocation_handler.h"
#include "plugin/group_replication/include/plugin_handlers/read_mode_handler.h"
#include "plugin/group_replication/include/plugin_handlers/recovery_metadata.h"
#include "plugin/group_replication/include/plugin_handlers/remote_clone_handler.h"
#include "plugin/group_replication/include/plugin_observers/channel_observation_manager.h"
#include "plugin/group_replication/include/plugin_observers/group_event_observer.h"
#include "plugin/group_replication/include/plugin_observers/group_transaction_observation_manager.h"
#include "plugin/group_replication/include/plugin_server_include.h"
#include "plugin/group_replication/include/ps_information.h"
#include "plugin/group_replication/include/recovery.h"
#include "plugin/group_replication/include/services/message_service/message_service.h"
#include "plugin/group_replication/include/services/registry.h"
#include "plugin/group_replication/include/services/server_services_references.h"
#include "plugin/group_replication/libmysqlgcs/include/mysql/gcs/gcs_interface.h"
Go to the source code of this file.
Classes | |
struct | SYS_VAR |
struct | gr_modules |
This struct provides a namespace for the GR layer components. More... | |
Enumerations | |
enum | enum_channel_observation_manager_position { GROUP_CHANNEL_OBSERVATION_MANAGER_POS = 0 , ASYNC_CHANNEL_OBSERVATION_MANAGER_POS , END_CHANNEL_OBSERVATION_MANAGER_POS } |
Position of channel observation manager's in channel_observation_manager_list. More... | |
enum | enum_exit_state_action { EXIT_STATE_ACTION_READ_ONLY = 0 , EXIT_STATE_ACTION_ABORT_SERVER , EXIT_STATE_ACTION_OFFLINE_MODE } |
Action performed when the member leaves the group unexpectedly. More... | |
enum | enum_tls_source_values { TLS_SOURCE_MYSQL_MAIN = 0 , TLS_SOURCE_MYSQL_ADMIN } |
Source of TLS configuration for the connection between Group Replication members. More... | |
enum | enum_wait_on_start_process_result { WAIT_ON_START_PROCESS_SUCCESS = 0 , WAIT_ON_START_PROCESS_ABORT_ON_CLONE , WAIT_ON_START_PROCESS_ABORT_SECONDARY_MEMBER } |
Reasons why asynchronous channels start wait for Group Replication status can be aborted. More... | |
bool attempt_rejoin | ( | ) |
Encapsulates the logic necessary to attempt a rejoin, i.e.
gracefully leave the group, terminate GCS infrastructure, terminate auto-rejoin relevant plugin modules, reinitialize auto-rejoin relevant plugin modules, reinitialize GCS infrastructure and attempt to join the group again.
true | the rejoin failed. |
false | the rejoin succeeded. |
bool check_async_channel_running_on_secondary | ( | ) |
void declare_plugin_cloning | ( | bool | is_running | ) |
void enable_server_shutdown_status | ( | ) |
bool get_allow_local_lower_version_join | ( | ) |
bool get_allow_single_leader | ( | ) |
ulong get_communication_stack_var | ( | ) |
ulong get_components_stop_timeout_var | ( | ) |
ulong get_exit_state_action_var | ( | ) |
long get_flow_control_applier_threshold_var | ( | ) |
long get_flow_control_certifier_threshold_var | ( | ) |
int get_flow_control_hold_percent_var | ( | ) |
long get_flow_control_max_quota_var | ( | ) |
int get_flow_control_member_quota_percent_var | ( | ) |
long get_flow_control_min_quota_var | ( | ) |
long get_flow_control_min_recovery_quota_var | ( | ) |
ulong get_flow_control_mode_var | ( | ) |
int get_flow_control_period_var | ( | ) |
int get_flow_control_release_percent_var | ( | ) |
const char * get_group_name_var | ( | ) |
rpl_sidno get_group_sidno | ( | ) |
uint get_number_of_autorejoin_tries | ( | ) |
mysql_mutex_t * get_plugin_applier_module_initialize_terminate_lock | ( | ) |
bool get_plugin_is_setting_read_mode | ( | ) |
bool get_plugin_is_stopping | ( | ) |
void * get_plugin_pointer | ( | ) |
const mysql_service_registry_t * get_plugin_registry | ( | ) |
Checkable_rwlock * get_plugin_running_lock | ( | ) |
uint get_preemptive_garbage_collection_rows_threshold_var | ( | ) |
bool get_preemptive_garbage_collection_var | ( | ) |
ulonglong get_rejoin_timeout | ( | ) |
bool get_server_shutdown_status | ( | ) |
bool get_single_primary_mode_var | ( | ) |
ulong get_transaction_size_limit | ( | ) |
rpl_sidno get_view_change_sidno | ( | ) |
const char * get_view_change_uuid_var | ( | ) |
bool get_wait_on_engine_initialization | ( | ) |
int initialize_plugin_and_join | ( | enum_plugin_con_isolation | sql_api_isolation, |
Delayed_initialization_thread * | delayed_init_thd | ||
) |
We redo the check for the group name here when starting on boot as only now the information about channels and the assign_gtids_to_anonymous_transactions is available.
int initialize_plugin_modules | ( | gr_modules::mask | modules_to_init | ) |
enum_wait_on_start_process_result initiate_wait_on_start_process | ( | ) |
Blocks the calling thread.
bool is_autorejoin_enabled | ( | ) |
bool is_plugin_auto_starting_on_non_bootstrap_member | ( | ) |
bool is_plugin_configured_and_starting | ( | ) |
bool is_plugin_waiting_to_set_server_read_mode | ( | ) |
bool is_view_change_log_event_required | ( | ) |
void mysql_thread_handler_finalize | ( | ) |
bool plugin_get_connection_status | ( | const GROUP_REPLICATION_CONNECTION_STATUS_CALLBACKS & | callbacks | ) |
bool plugin_get_group_member_stats | ( | uint | index, |
const GROUP_REPLICATION_GROUP_MEMBER_STATS_CALLBACKS & | callbacks | ||
) |
bool plugin_get_group_members | ( | uint | index, |
const GROUP_REPLICATION_GROUP_MEMBERS_CALLBACKS & | callbacks | ||
) |
uint plugin_get_group_members_number | ( | ) |
int plugin_group_replication_deinit | ( | void * | p | ) |
int plugin_group_replication_init | ( | MYSQL_PLUGIN | plugin_info | ) |
int plugin_group_replication_leave_group | ( | ) |
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 event.
info | the given view_change_event. |
int plugin_group_replication_start | ( | char ** | error_message = nullptr | ) |
int plugin_group_replication_stop | ( | char ** | error_message = nullptr | ) |
bool plugin_is_group_replication_cloning | ( | ) |
bool plugin_is_group_replication_running | ( | ) |
void register_server_reset_master | ( | ) |
void reset_auto_increment_handler_values | ( | bool | force_reset = false | ) |
bool server_engine_initialized | ( | ) |
void set_auto_increment_handler_values | ( | ) |
void set_enforce_update_everywhere_checks | ( | bool | option | ) |
void set_plugin_is_setting_read_mode | ( | bool | value | ) |
void set_single_primary_mode_var | ( | bool | option | ) |
void set_wait_on_start_process | ( | bool | cond | ) |
Set condition to block or unblock the calling threads.
[in] | cond | if the threads should be blocked or not |
int terminate_plugin_modules | ( | gr_modules::mask | modules_to_terminate, |
char ** | error_message = nullptr , |
||
bool | rejoin = false |
||
) |
void terminate_wait_on_start_process | ( | enum_wait_on_start_process_result | abort = WAIT_ON_START_PROCESS_SUCCESS | ) |
Release all the blocked threads.
|
extern |
The plugin applier.
|
extern |
The Single primary channel observation module.
|
extern |
The thread that handles the auto-rejoin process.
|
extern |
The handler for transaction killing when an error or partition happens.
|
extern |
The channel observation modules.
|
extern |
|
extern |
|
extern |
Initialization thread for server starts.
|
extern |
|
extern |
The plugin modules.
The plugin modules.
|
extern |
The coordinator for group actions.
|
extern |
The observation module for group events.
|
extern |
|
extern |
The transaction handler for network partitions.
|
extern |
The transaction observation module.
|
extern |
|
extern |
|
extern |
The thread that handles the message service process.
|
extern |
|
extern |
|
extern |
Handle tasks on mysql_thread.
|
extern |
Dedicated mysql_thread to enable read_only
and super_read_only
since these are blocking operations.
If we did use mysql_thread_handler
that would block all other other operations until read modes operations complete.
|
extern |
The primary election handler.
|
extern |
The plugin recovery metadata module.
|
extern |
The plugin recovery module.
|
extern |
The registry module.
|
extern |
The handler to invoke clone.
|
extern |
Module with the acquired server services on plugin install.
|
extern |
Class to coordinate access to the plugin stop lock.
|
extern |
The plugin transaction consistency manager.
|
extern |
Transactions latch.