24#ifndef MEMBER_INFO_INCLUDE 
   25#define MEMBER_INFO_INCLUDE 
   58#define CNF_ENFORCE_UPDATE_EVERYWHERE_CHECKS_F 0x1 
   64#define CNF_SINGLE_PRIMARY_MODE_F 0x2 
   71#define DEFAULT_NOT_RECEIVED_LOWER_CASE_TABLE_NAMES 65540 
   73#define SKIP_ENCODING_LOWER_CASE_TABLE_NAMES 65541 
  218  void *
operator new(
size_t size, 
const std::nothrow_t &) 
noexcept {
 
  235  void operator delete(
void *ptr, 
const std::nothrow_t &) 
noexcept {
 
  248  void *
operator new(
size_t size) 
noexcept {
 
  262  void operator delete(
void *ptr) 
noexcept { 
my_free(ptr); }
 
  307                    const std::string &gcs_member_id_arg,
 
  310                    ulonglong gtid_assignment_block_size_arg,
 
  312                    bool in_single_primary_mode,
 
  314                    uint member_weight_arg, uint lower_case_table_names_arg,
 
  315                    bool default_table_encryption_arg,
 
  316                    const char *recovery_endpoints_arg,
 
  317                    const char *view_change_uuid_arg, 
bool allow_single_leader,
 
  318                    bool preemptive_garbage_collection,
 
  319                    bool component_primary_election_enabled,
 
  378  void update(
const char *hostname_arg, uint port_arg, 
const char *uuid_arg,
 
  380              const std::string &gcs_member_id_arg,
 
  383              ulonglong gtid_assignment_block_size_arg,
 
  385              bool in_single_primary_mode,
 
  387              uint member_weight_arg, uint lower_case_table_names_arg,
 
  388              bool default_table_encryption_arg,
 
  389              const char *recovery_endpoints_arg,
 
  390              const char *view_change_uuid_arg, 
bool allow_single_leader,
 
  391              bool preemptive_garbage_collection,
 
  392              bool component_primary_election_enabled);
 
  488      bool enforce_everywhere_checks);
 
  526  void update_gtid_sets(std::string &executed_gtids, std::string &purged_gtids,
 
  527                        std::string &retrieve_gtids);
 
  545      const uint32 configuation_flag);
 
  551      const uint32 configuation_flags);
 
  690      const std::string &group_action_running_name);
 
  705      const std::string &group_action_running_description);
 
  736                      const unsigned char *) 
override;
 
  790typedef std::vector<Group_member_info *, Malloc_allocator<Group_member_info *>>
 
  957      const std::string &uuid,
 
  985                                std::string >id_executed,
 
  986                                std::string &purged_gtids,
 
  987                                std::string >id_retrieved) = 0;
 
 1016                                    uint member_weight) = 0;
 
 1029      bool enforce_everywhere) = 0;
 
 1036  virtual void encode(std::vector<uchar> *to_encode) = 0;
 
 1132      const std::string &uuid, 
bool enabled) = 0;
 
 1177  void *
operator new(
size_t size, 
const std::nothrow_t &) 
noexcept {
 
 1194  void operator delete(
void *ptr, 
const std::nothrow_t &) 
noexcept {
 
 1207  void *
operator new(
size_t size) 
noexcept {
 
 1221  void operator delete(
void *ptr) 
noexcept { 
my_free(ptr); }
 
 1267                        std::string &purged_gtids,
 
 1268                        std::string >id_retrieved) 
override;
 
 1278                            uint member_weight) 
override;
 
 1284  void encode(std::vector<uchar> *to_encode) 
override;
 
 1429      std::vector<unsigned char> *
buffer,
 
 1430      const std::string &member_actions_serialized_configuration) 
const;
 
 1449                    const unsigned char **pit_data, 
size_t *pit_length);
 
 1460      std::vector<unsigned char> *
buffer,
 
 1461      const std::string &replication_failover_channels_serialized_configuration)
 
 1467                      const unsigned char *
end) 
override;
 
It represents the identity of a group member within a certain group.
Definition: gcs_member_identifier.h:40
 
Definition: member_info.h:807
 
virtual mysql_mutex_t * get_update_lock()=0
This method returns the update lock for consistent read of member state.
 
virtual bool get_primary_member_info(Group_member_info &member_info_arg)=0
Return the group member info for the current group primary.
 
virtual void update(Group_member_info_list *new_members)=0
Updates all members of the group.
 
virtual void update_primary_member_flag(bool in_primary_mode)=0
Changes the primary flag on all members.
 
virtual bool is_unreachable_member_present()=0
Check if an unreachable member exists.
 
virtual Group_member_info::Group_member_status get_group_member_status_by_member_id(const Gcs_member_identifier &id)=0
Return the status of the member with the given GCS identifier.
 
virtual bool is_member_info_present(const std::string &uuid)=0
Is the member present in the group info.
 
virtual std::string get_string_current_view_active_hosts() const =0
This method returns all ONLINE and RECOVERING members comma separated host and port in string format.
 
virtual void add(Group_member_info *new_member)=0
Adds a new member to be managed by this Group manager.
 
virtual bool is_majority_unreachable()=0
Check if majority of the group is unreachable.
 
virtual void update_member_status(const std::string &uuid, Group_member_info::Group_member_status new_status, Notification_context &ctx)=0
Updates the status of a single member.
 
virtual size_t get_number_of_members_online()=0
Number of ONLINE members in the group.
 
virtual void update_gtid_sets(const std::string &uuid, std::string >id_executed, std::string &purged_gtids, std::string >id_retrieved)=0
Updates the GTID sets on a single member.
 
virtual Group_member_info_list * decode(const uchar *to_decode, size_t length)=0
Decodes the raw format of this object.
 
virtual bool get_group_member_info_by_index(int idx, Group_member_info &member_info_arg)=0
Retrieves a registered Group member by an index function.
 
virtual std::pair< bool, std::string > get_group_member_uuid_from_member_id(const Gcs_member_identifier &id)=0
Returns the member-uuid of the given GCS identifier.
 
virtual void update_member_weight(const std::string &uuid, uint member_weight)=0
Updates the weight of a single member.
 
virtual void update(Group_member_info *update_local_member)=0
Removes all members of the group and update new local member.
 
virtual bool get_primary_member_uuid(std::string &primary_member_uuid)=0
Return the uuid for the for the primary.
 
virtual void set_member_reachable(const std::string &uuid)=0
Sets the identified member as reachable.
 
virtual bool is_group_replication_elect_prefers_most_updated_enabled()=0
All members have component primary election enabled.
 
virtual void update_member_role(const std::string &uuid, Group_member_info::Group_member_role new_role, Notification_context &ctx)=0
Updates the role of a single member.
 
virtual size_t get_number_of_members()=0
Number of members in the group.
 
virtual uint64_t get_timestamp_last_view_change()=0
Return last timestamp since epoch when a view change updated the group members info.
 
virtual Member_version get_group_lowest_online_version()=0
Return lowest member version.
 
virtual void update_component_primary_election_enabled(const std::string &uuid, bool enabled)=0
Updates the component primary failover.
 
virtual void set_member_unreachable(const std::string &uuid)=0
Sets the identified member as unreachable.
 
virtual bool get_group_member_info(const std::string &uuid, Group_member_info &member_info_arg)=0
Retrieves a registered Group member by its uuid.
 
virtual std::list< Gcs_member_identifier > * get_online_members_with_guarantees(const Gcs_member_identifier &exclude_member)=0
Retrieves all ONLINE Group members managed by this site, or NULL if any group member version is from ...
 
virtual bool is_conflict_detection_enabled()=0
Check if some member of the group has the conflict detection enable.
 
virtual Group_member_info_list * get_all_members()=0
Retrieves all Group members managed by this site.
 
virtual void update_enforce_everywhere_checks_flag(bool enforce_everywhere)=0
Set the enforces_update_everywhere_checks flag on all members.
 
virtual void update_group_primary_roles(const std::string &uuid, Notification_context &ctx)=0
Updates the primary/secondary roles of the group.
 
virtual ~Group_member_info_manager_interface()=default
 
virtual void encode(std::vector< uchar > *to_encode)=0
Encodes this object to send via the network.
 
virtual bool get_group_member_info_by_member_id(const Gcs_member_identifier &id, Group_member_info &member_info_arg)=0
Retrieves a registered Group member by its backbone GCS identifier.
 
virtual bool is_recovering_member_present()=0
Check if a member in recovery exists in the group.
 
This is the Group_member_info_manager message.
Definition: member_info.h:1367
 
Group_member_info_list * members
Definition: member_info.h:1475
 
void add_member_actions_serialized_configuration(std::vector< unsigned char > *buffer, const std::string &member_actions_serialized_configuration) const
Adds a already serialized member actions configuration to the Group_member_info_manager_message conte...
Definition: member_info.cc:1651
 
void add_replication_failover_channels_serialized_configuration(std::vector< unsigned char > *buffer, const std::string &replication_failover_channels_serialized_configuration) const
Adds a already serialized replication failover channels configuration to the Group_member_info_manage...
Definition: member_info.cc:1704
 
void decode_payload(const unsigned char *buffer, const unsigned char *end) override
Decodes the contents of the buffer and sets the payload field values according to the values decoded.
Definition: member_info.cc:1623
 
void encode_payload(std::vector< unsigned char > *buffer) const override
Encodes the contents of this instance payload into the buffer.
Definition: member_info.cc:1605
 
enum_payload_item_type
Definition: member_info.h:1369
 
@ PIT_MAX
Definition: member_info.h:1386
 
@ PIT_MEMBER_DATA
Definition: member_info.h:1377
 
@ PIT_RPL_FAILOVER_CONFIGURATION
Definition: member_info.h:1383
 
@ PIT_MEMBER_ACTIONS
Definition: member_info.h:1380
 
@ PIT_MEMBERS_NUMBER
Definition: member_info.h:1374
 
@ PIT_UNKNOWN
Definition: member_info.h:1371
 
bool get_pit_data(const enum_payload_item_type pit, const unsigned char *buffer, size_t length, const unsigned char **pit_data, size_t *pit_length)
Gets the data that belongs to payload_item_type pit.
Definition: member_info.cc:1663
 
Group_member_info_manager_message()
Group_member_info_manager_message constructor.
Definition: member_info.cc:1550
 
~Group_member_info_manager_message() override
Group_member_info_manager_message destructor.
Definition: member_info.cc:1575
 
Group_member_info_list * get_all_members()
Retrieves all Group members on this message.
Definition: member_info.cc:1590
 
void clear_members()
Clear members and its allocated memory.
Definition: member_info.cc:1581
 
Implementation of the interface Group_member_info_manager_interface.
Definition: member_info.h:1156
 
void add(Group_member_info *new_member) override
Adds a new member to be managed by this Group manager.
Definition: member_info.cc:1179
 
bool is_majority_unreachable() override
Check if majority of the group is unreachable.
Definition: member_info.cc:1450
 
uint64_t view_change_timestamp
Definition: member_info.h:1325
 
Group_member_info::Group_member_status get_group_member_status_by_member_id(const Gcs_member_identifier &id) override
Return the status of the member with the given GCS identifier.
Definition: member_info.cc:1121
 
void update_component_primary_election_enabled(const std::string &uuid, bool enabled) override
Updates the component primary failover.
Definition: member_info.cc:1521
 
std::list< Gcs_member_identifier > * get_online_members_with_guarantees(const Gcs_member_identifier &exclude_member) override
Retrieves all ONLINE Group members managed by this site, or NULL if any group member version is from ...
Definition: member_info.cc:1153
 
bool is_group_replication_elect_prefers_most_updated_enabled() override
All members have component primary election enabled.
Definition: member_info.cc:1535
 
void update_member_weight(const std::string &uuid, uint member_weight) override
Updates the weight of a single member.
Definition: member_info.cc:1324
 
void update_primary_member_flag(bool in_primary_mode) override
Changes the primary flag on all members.
Definition: member_info.cc:1339
 
bool is_recovering_member_present() override
Check if a member in recovery exists in the group.
Definition: member_info.cc:1484
 
void update_gtid_sets(const std::string &uuid, std::string >id_executed, std::string &purged_gtids, std::string >id_retrieved) override
Updates the GTID sets on a single member.
Definition: member_info.cc:1263
 
bool is_member_info_present(const std::string &uuid) override
Is the member present in the group info.
Definition: member_info.cc:1006
 
void update(Group_member_info *update_local_member) override
Removes all members of the group and update new local member.
Definition: member_info.cc:1187
 
void update_enforce_everywhere_checks_flag(bool enforce_everywhere) override
Set the enforces_update_everywhere_checks flag on all members.
Definition: member_info.cc:1348
 
uint64_t get_timestamp_last_view_change() override
Return last timestamp since epoch when a view change updated the group members info.
Definition: member_info.cc:1546
 
bool get_group_member_info_by_member_id(const Gcs_member_identifier &id, Group_member_info &member_info_arg) override
Retrieves a registered Group member by its backbone GCS identifier.
Definition: member_info.cc:1091
 
mysql_mutex_t update_lock
Definition: member_info.h:1323
 
void set_member_unreachable(const std::string &uuid) override
Sets the identified member as unreachable.
Definition: member_info.cc:1244
 
void clear_members()
Definition: member_info.cc:1358
 
void encode(std::vector< uchar > *to_encode) override
Encodes this object to send via the network.
Definition: member_info.cc:1387
 
Group_member_info_list * decode(const uchar *to_decode, size_t length) override
Decodes the raw format of this object.
Definition: member_info.cc:1393
 
size_t get_number_of_members() override
Number of members in the group.
Definition: member_info.cc:987
 
bool get_group_member_info(const std::string &uuid, Group_member_info &member_info_arg) override
Retrieves a registered Group member by its uuid.
Definition: member_info.cc:1020
 
Group_member_info_list * get_all_members() override
Retrieves all Group members managed by this site.
Definition: member_info.cc:1136
 
bool is_conflict_detection_enabled() override
Check if some member of the group has the conflict detection enable.
Definition: member_info.cc:1371
 
Group_member_info * get_group_member_info_by_member_id_internal(const Gcs_member_identifier &id)
Definition: member_info.cc:1075
 
void update_member_role(const std::string &uuid, Group_member_info::Group_member_role new_role, Notification_context &ctx) override
Updates the role of a single member.
Definition: member_info.cc:1282
 
Group_member_info_manager(Group_member_info *local_member_info, PSI_mutex_key psi_mutex_key=key_GR_LOCK_group_member_info_manager_update_lock)
Definition: member_info.cc:967
 
mysql_mutex_t * get_update_lock() override
This method returns the update lock for consistent read of member state.
Definition: member_info.h:1304
 
bool get_primary_member_uuid(std::string &primary_member_uuid) override
Return the uuid for the for the primary.
Definition: member_info.cc:1405
 
std::string get_string_current_view_active_hosts() const override
This method returns all ONLINE and RECOVERING members comma separated host and port in string format.
Definition: member_info.cc:1501
 
std::pair< bool, std::string > get_group_member_uuid_from_member_id(const Gcs_member_identifier &id) override
Returns the member-uuid of the given GCS identifier.
Definition: member_info.cc:1105
 
void update_member_status(const std::string &uuid, Group_member_info::Group_member_status new_status, Notification_context &ctx) override
Updates the status of a single member.
Definition: member_info.cc:1223
 
~Group_member_info_manager() override
Definition: member_info.cc:981
 
Group_member_info * local_member_info
Definition: member_info.h:1321
 
size_t get_number_of_members_online() override
Number of ONLINE members in the group.
Definition: member_info.cc:991
 
Group_member_info_map * members
Definition: member_info.h:1320
 
void set_member_reachable(const std::string &uuid) override
Sets the identified member as reachable.
Definition: member_info.cc:1254
 
bool get_group_member_info_by_index(int idx, Group_member_info &member_info_arg) override
Retrieves a registered Group member by an index function.
Definition: member_info.cc:1033
 
Member_version get_group_lowest_online_version() override
Return lowest member version.
Definition: member_info.cc:1054
 
void update_group_primary_roles(const std::string &uuid, Notification_context &ctx) override
Updates the primary/secondary roles of the group.
Definition: member_info.cc:1303
 
bool get_primary_member_info(Group_member_info &member_info_arg) override
Return the group member info for the current group primary.
Definition: member_info.cc:1433
 
bool is_unreachable_member_present() override
Check if an unreachable member exists.
Definition: member_info.cc:1467
 
Definition: member_info.h:81
 
static bool comparator_group_member_version(Group_member_info *m1, Group_member_info *m2)
Definition: member_info.cc:888
 
void set_is_group_action_running(bool is_running)
Sets if the member is currently running a group action.
Definition: member_info.cc:797
 
bool m_preemptive_garbage_collection
Definition: member_info.h:779
 
uint port
Definition: member_info.h:755
 
void decode_payload(const unsigned char *buffer, const unsigned char *) override
Decodes the contents of the buffer and sets the payload field values according to the values decoded.
Definition: member_info.cc:414
 
static std::string get_configuration_flags_string(const uint32 configuation_flags)
Definition: member_info.cc:867
 
bool unreachable
Definition: member_info.h:765
 
uint64 gtid_assignment_block_size
Definition: member_info.h:764
 
std::string get_recovery_endpoints()
List of member advertised recovery endpoints.
Definition: member_info.cc:893
 
void disable_conflict_detection()
Update this member conflict detection to false.
Definition: member_info.cc:772
 
uint32 get_configuration_flags()
Definition: member_info.cc:701
 
std::string recovery_endpoints
Definition: member_info.h:774
 
bool in_primary_mode()
Definition: member_info.cc:732
 
const char * get_write_set_extraction_algorithm_name()
Definition: member_info.cc:683
 
void encode_payload(std::vector< unsigned char > *buffer) const override
Encodes the contents of this instance payload into the buffer.
Definition: member_info.cc:293
 
bool group_action_running
Definition: member_info.h:772
 
static const char * get_configuration_flag_string(const uint32 configuation_flag)
Definition: member_info.cc:853
 
static bool comparator_group_member_uuid(Group_member_info *m1, Group_member_info *m2)
Definition: member_info.cc:933
 
void set_enforces_update_everywhere_checks_flag(bool enforce_everywhere_checks)
Set the enforces_update_everywhere_checks flag.
Definition: member_info.cc:716
 
ulonglong get_gtid_assignment_block_size()
Definition: member_info.cc:696
 
void set_is_primary_election_running(bool is_running)
Sets if the member is currently running a primary election.
Definition: member_info.cc:825
 
bool has_enforces_update_everywhere_checks()
Definition: member_info.cc:737
 
const std::string & get_group_action_running_description()
Get group action description if running on the member.
Definition: member_info.cc:811
 
bool m_allow_single_leader
Definition: member_info.h:776
 
bool get_allow_single_leader()
Definition: member_info.cc:908
 
uint member_weight
Definition: member_info.h:769
 
static bool comparator_group_member_weight(Group_member_info *m1, Group_member_info *m2)
Definition: member_info.cc:938
 
bool conflict_detection_enable
Definition: member_info.h:768
 
bool is_conflict_detection_enabled()
Return true if conflict detection is enable on this member.
Definition: member_info.cc:777
 
Group_member_role role
Definition: member_info.h:766
 
void set_view_change_uuid(const char *view_change_cnf)
Save member view change uuid.
Definition: member_info.cc:913
 
bool m_component_primary_election_enabled
Definition: member_info.h:780
 
uint32 configuration_flags
Definition: member_info.h:767
 
bool primary_election_running
Definition: member_info.h:773
 
Member_version * member_version
Definition: member_info.h:759
 
bool has_greater_weight(Group_member_info *other)
Return true if member weight is higher than other member weight.
Definition: member_info.cc:957
 
uint get_port()
Definition: member_info.cc:595
 
bool get_default_table_encryption()
Definition: member_info.cc:752
 
~Group_member_info() override
Destructor.
Definition: member_info.cc:187
 
std::string purged_gtid_set
Definition: member_info.h:761
 
uint write_set_extraction_algorithm
Definition: member_info.h:763
 
std::string uuid
Definition: member_info.h:756
 
void enable_conflict_detection()
Update this member conflict detection to true.
Definition: member_info.cc:767
 
bool is_primary_election_running()
Definition: member_info.cc:820
 
bool operator==(Group_member_info &other)
Redefinition of operate ==, which operate upon the uuid.
Definition: member_info.cc:830
 
bool is_group_action_running()
Definition: member_info.cc:792
 
std::string m_group_action_running_name
Definition: member_info.h:777
 
Group_member_status get_recovery_status()
Definition: member_info.cc:608
 
enum_transaction_write_set_hashing_algorithm_compatibility
Definition: member_info.h:200
 
@ HASH_ALGORITHM_XXHASH64
Definition: member_info.h:203
 
@ HASH_ALGORITHM_OFF
Definition: member_info.h:201
 
@ HASH_ALGORITHM_MURMUR32
Definition: member_info.h:202
 
std::string get_view_change_uuid()
Get UID used when logging view change events.
Definition: member_info.cc:903
 
static const char * get_member_status_string(Group_member_status status)
Definition: member_info.cc:835
 
std::string m_group_action_running_description
Definition: member_info.h:778
 
void update_gtid_sets(std::string &executed_gtids, std::string &purged_gtids, std::string &retrieve_gtids)
Updates this object GTID sets.
Definition: member_info.cc:644
 
uint lower_case_table_names
Definition: member_info.h:770
 
Gcs_member_identifier * gcs_member_id
Definition: member_info.h:758
 
bool in_primary_mode_internal()
Internal method without concurrency control.
Definition: member_info.cc:728
 
Group_member_role get_role()
Definition: member_info.cc:613
 
void set_component_primary_election_enabled(bool enabled)
Definition: member_info.cc:928
 
std::string retrieved_gtid_set
Definition: member_info.h:762
 
void set_primary_mode_flag(bool in_primary_mode)
Set the primary flag.
Definition: member_info.cc:706
 
void set_group_action_running_description(const std::string &group_action_running_description)
Set group action description if running on the member.
Definition: member_info.cc:815
 
bool skip_encode_default_table_encryption
Definition: member_info.h:783
 
void set_group_action_running_name(const std::string &group_action_running_name)
Set group action name if running on the member.
Definition: member_info.cc:806
 
bool has_lower_uuid_internal(Group_member_info *other)
Return true if server uuid is lower than other member server uuid Internal method without concurrency...
Definition: member_info.cc:948
 
Group_member_info(PSI_mutex_key psi_mutex_key_arg=key_GR_LOCK_group_member_info_update_lock)
Group_member_info empty constructor.
Definition: member_info.cc:40
 
uint get_write_set_extraction_algorithm()
Definition: member_info.cc:678
 
void update(const char *hostname_arg, uint port_arg, const char *uuid_arg, int write_set_extraction_algorithm, const std::string &gcs_member_id_arg, Group_member_info::Group_member_status status_arg, Member_version &member_version_arg, ulonglong gtid_assignment_block_size_arg, Group_member_info::Group_member_role role_arg, bool in_single_primary_mode, bool has_enforces_update_everywhere_checks, uint member_weight_arg, uint lower_case_table_names_arg, bool default_table_encryption_arg, const char *recovery_endpoints_arg, const char *view_change_uuid_arg, bool allow_single_leader, bool preemptive_garbage_collection, bool component_primary_election_enabled)
Update Group_member_info.
Definition: member_info.cc:193
 
bool m_skip_encode_view_change_uuid
Definition: member_info.h:784
 
void set_unreachable()
Sets this member as unreachable.
Definition: member_info.cc:757
 
void set_role(Group_member_role new_role)
Updates this object member role.
Definition: member_info.cc:653
 
Gcs_member_identifier get_gcs_member_id()
Definition: member_info.cc:633
 
std::string get_gtid_purged()
Definition: member_info.cc:668
 
std::string m_view_change_uuid
Definition: member_info.h:775
 
Group_member_status status
Definition: member_info.h:757
 
Member_version get_member_version()
Definition: member_info.cc:658
 
PSI_mutex_key psi_mutex_key
Definition: member_info.h:787
 
std::string get_gtid_executed()
Definition: member_info.cc:663
 
uint get_member_weight()
Return member weight.
Definition: member_info.cc:787
 
bool get_component_primary_election_enabled()
Get value of variable enabled from component 'group_replication_primary_election' on this member.
Definition: member_info.cc:923
 
Group_member_role
Definition: member_info.h:189
 
@ MEMBER_ROLE_PRIMARY
Definition: member_info.h:190
 
@ MEMBER_ROLE_SECONDARY
Definition: member_info.h:191
 
@ MEMBER_ROLE_END
Definition: member_info.h:192
 
uint get_lower_case_table_names()
Definition: member_info.cc:742
 
std::string executed_gtid_set
Definition: member_info.h:760
 
const std::string & get_group_action_running_name()
Get group action name if running on the member.
Definition: member_info.cc:802
 
void set_recovery_endpoints(const char *endpoints)
Save list of member advertised recovery endpoints.
Definition: member_info.cc:898
 
const char * get_member_role_string()
Definition: member_info.cc:618
 
Group_member_status
Definition: member_info.h:175
 
@ MEMBER_ONLINE
Definition: member_info.h:176
 
@ MEMBER_UNREACHABLE
Definition: member_info.h:180
 
@ MEMBER_OFFLINE
Definition: member_info.h:177
 
@ MEMBER_IN_RECOVERY
Definition: member_info.h:178
 
@ MEMBER_END
Definition: member_info.h:181
 
@ MEMBER_ERROR
Definition: member_info.h:179
 
std::string get_uuid()
Definition: member_info.cc:601
 
mysql_mutex_t update_lock
Definition: member_info.h:753
 
bool has_greater_version(Group_member_info *other)
Return true if member version is higher than other member version.
Definition: member_info.cc:943
 
bool default_table_encryption
Definition: member_info.h:771
 
void set_reachable()
Sets this member as reachable.
Definition: member_info.cc:762
 
std::string hostname
Definition: member_info.h:754
 
std::string get_hostname()
Definition: member_info.cc:589
 
bool is_unreachable()
Return true if this has been flagged as unreachable.
Definition: member_info.cc:747
 
bool get_preemptive_garbage_collection()
Get the value of 'group_replication_preemptive_garbage_collection' option on this member.
Definition: member_info.cc:918
 
void set_member_weight(uint new_member_weight)
Update member weight.
Definition: member_info.cc:782
 
enum_payload_item_type
Definition: member_info.h:83
 
@ PIT_EXECUTED_GTID
Definition: member_info.h:109
 
@ PIT_GCS_ID
Definition: member_info.h:97
 
@ PIT_CONFLICT_DETECTION_ENABLE
Definition: member_info.h:124
 
@ PIT_PURGED_GTID
Definition: member_info.h:142
 
@ PIT_RECOVERY_ENDPOINTS
Definition: member_info.h:145
 
@ PIT_ALLOW_SINGLE_LEADER
Definition: member_info.h:151
 
@ PIT_LOWER_CASE_TABLE_NAME
Definition: member_info.h:130
 
@ PIT_GROUP_ACTION_RUNNING
Definition: member_info.h:133
 
@ PIT_GROUP_ACTION_RUNNING_DESCRIPTION
Definition: member_info.h:157
 
@ PIT_GTID_ASSIGNMENT_BLOCK_SIZE
Definition: member_info.h:115
 
@ PIT_MAX
Definition: member_info.h:166
 
@ PIT_DEFAULT_TABLE_ENCRYPTION
Definition: member_info.h:139
 
@ PIT_PREEMPTIVE_GARBAGE_COLLECTION
Definition: member_info.h:160
 
@ PIT_WRITE_SET_EXTRACTION_ALGORITHM
Definition: member_info.h:106
 
@ PIT_PORT
Definition: member_info.h:91
 
@ PIT_PRIMARY_ELECTION_RUNNING
Definition: member_info.h:136
 
@ PIT_MEMBER_ROLE
Definition: member_info.h:118
 
@ PIT_CONFIGURATION_FLAGS
Definition: member_info.h:121
 
@ PIT_COMPONENT_PRIMARY_ELECTION_ENABLED
Definition: member_info.h:163
 
@ PIT_UNKNOWN
Definition: member_info.h:85
 
@ PIT_UUID
Definition: member_info.h:94
 
@ PIT_GROUP_ACTION_RUNNING_NAME
Definition: member_info.h:154
 
@ PIT_VIEW_CHANGE_UUID
Definition: member_info.h:148
 
@ PIT_MEMBER_WEIGHT
Definition: member_info.h:127
 
@ PIT_RETRIEVED_GTID
Definition: member_info.h:112
 
@ PIT_VERSION
Definition: member_info.h:103
 
@ PIT_STATUS
Definition: member_info.h:100
 
@ PIT_HOSTNAME
Definition: member_info.h:88
 
void update_recovery_status(Group_member_status new_status)
Updates this object recovery status.
Definition: member_info.cc:639
 
bool has_lower_uuid(Group_member_info *other)
Return true if server uuid is lower than other member server uuid.
Definition: member_info.cc:952
 
std::string get_gtid_retrieved()
Definition: member_info.cc:673
 
Malloc_allocator is a C++ STL memory allocator based on my_malloc/my_free.
Definition: malloc_allocator.h:63
 
represent the MySQL version of a Member within the Group Replication group.
Definition: member_version.h:35
 
A convenience context class used to share information between the event handlers and the notifier.
Definition: notification.h:35
 
This is the base GCS plugin message.
Definition: gcs_plugin_messages.h:64
 
#define MY_WME
Definition: my_sys.h:133
 
unsigned int PSI_mutex_key
Instrumented mutex key.
Definition: psi_mutex_bits.h:52
 
Group_member_info_map::iterator Group_member_info_map_iterator
Definition: member_info.h:798
 
Group_member_info_list::iterator Group_member_info_list_iterator
Definition: member_info.h:792
 
std::map< std::string, Group_member_info *, std::less< std::string >, Malloc_allocator< std::pair< const std::string, Group_member_info * > > > Group_member_info_map
Definition: member_info.h:797
 
std::vector< Group_member_info *, Malloc_allocator< Group_member_info * > > Group_member_info_list
Definition: member_info.h:791
 
Some integer typedefs for easier portability.
 
unsigned long long int ulonglong
Definition: my_inttypes.h:56
 
unsigned char uchar
Definition: my_inttypes.h:52
 
#define MYF(v)
Definition: my_inttypes.h:97
 
uint64_t uint64
Definition: my_inttypes.h:69
 
uint32_t uint32
Definition: my_inttypes.h:67
 
void * my_malloc(PSI_memory_key key, size_t size, int flags)
Allocates size bytes of memory.
Definition: my_memory.cc:57
 
void my_free(void *ptr)
Frees the memory pointed by the ptr.
Definition: my_memory.cc:81
 
Common header for many mysys elements.
 
bool length(const dd::Spatial_reference_system *srs, const Geometry *g1, double *length, bool *null) noexcept
Computes the length of linestrings and multilinestrings.
Definition: length.cc:76
 
bool is_running(const PluginFuncEnv *env) noexcept
Definition: loader.cc:243
 
size_t size(const char *const c)
Definition: base64.h:46
 
mutable_buffer buffer(void *p, size_t n) noexcept
Definition: buffer.h:418
 
Cursor end()
A past-the-end Cursor.
Definition: rules_table_service.cc:192
 
std::map< Key, Value, Compare, ut::allocator< std::pair< const Key, Value > > > map
Specialization of map which uses ut_allocator.
Definition: ut0new.h:2898
 
static constexpr bool PREEMPTIVE_GARBAGE_COLLECTION_DEFAULT
Definition: plugin_constants.h:98
 
PSI_memory_key key_group_member_info
Definition: plugin_psi.h:245
 
PSI_mutex_key key_GR_LOCK_group_member_info_update_lock
Definition: plugin_psi.h:126
 
PSI_mutex_key key_GR_LOCK_group_member_info_manager_update_lock
Definition: plugin_psi.h:125
 
required bool enabled
Definition: replication_group_member_actions.proto:33
 
An instrumented mutex structure.
Definition: mysql_mutex_bits.h:50