24#ifndef MEMBER_INFO_INCLUDE 
   25#define MEMBER_INFO_INCLUDE 
   59#define CNF_ENFORCE_UPDATE_EVERYWHERE_CHECKS_F 0x1 
   65#define CNF_SINGLE_PRIMARY_MODE_F 0x2 
   72#define DEFAULT_NOT_RECEIVED_LOWER_CASE_TABLE_NAMES 65540 
   74#define SKIP_ENCODING_LOWER_CASE_TABLE_NAMES 65541 
  216  void *
operator new(
size_t size, 
const std::nothrow_t &) 
noexcept {
 
  233  void operator delete(
void *ptr, 
const std::nothrow_t &) 
noexcept {
 
  246  void *
operator new(
size_t size) 
noexcept {
 
  260  void operator delete(
void *ptr) 
noexcept { 
my_free(ptr); }
 
  303                    const std::string &gcs_member_id_arg,
 
  306                    ulonglong gtid_assignment_block_size_arg,
 
  308                    bool in_single_primary_mode,
 
  310                    uint member_weight_arg, uint lower_case_table_names_arg,
 
  311                    bool default_table_encryption_arg,
 
  312                    const char *recovery_endpoints_arg,
 
  313                    const char *view_change_uuid_arg, 
bool allow_single_leader,
 
  314                    bool preemptive_garbage_collection,
 
  371  void update(
const char *hostname_arg, uint port_arg, 
const char *uuid_arg,
 
  373              const std::string &gcs_member_id_arg,
 
  376              ulonglong gtid_assignment_block_size_arg,
 
  378              bool in_single_primary_mode,
 
  380              uint member_weight_arg, uint lower_case_table_names_arg,
 
  381              bool default_table_encryption_arg,
 
  382              const char *recovery_endpoints_arg,
 
  383              const char *view_change_uuid_arg, 
bool allow_single_leader,
 
  384              bool preemptive_garbage_collection);
 
  480      bool enforce_everywhere_checks);
 
  518  void update_gtid_sets(std::string &executed_gtids, std::string &purged_gtids,
 
  519                        std::string &retrieve_gtids);
 
  537      const uint32 configuation_flag);
 
  543      const uint32 configuation_flags);
 
  682      const std::string &group_action_running_name);
 
  697      const std::string &group_action_running_description);
 
  717                      const unsigned char *) 
override;
 
  770typedef std::vector<Group_member_info *, Malloc_allocator<Group_member_info *>>
 
  937      const std::string &uuid,
 
  965                                std::string >id_executed,
 
  966                                std::string &purged_gtids,
 
  967                                std::string >id_retrieved) = 0;
 
  996                                    uint member_weight) = 0;
 
 1009      bool enforce_everywhere) = 0;
 
 1016  virtual void encode(std::vector<uchar> *to_encode) = 0;
 
 1132  void *
operator new(
size_t size, 
const std::nothrow_t &) 
noexcept {
 
 1149  void operator delete(
void *ptr, 
const std::nothrow_t &) 
noexcept {
 
 1162  void *
operator new(
size_t size) 
noexcept {
 
 1176  void operator delete(
void *ptr) 
noexcept { 
my_free(ptr); }
 
 1222                        std::string &purged_gtids,
 
 1223                        std::string >id_retrieved) 
override;
 
 1233                            uint member_weight) 
override;
 
 1239  void encode(std::vector<uchar> *to_encode) 
override;
 
 1374      std::vector<unsigned char> *
buffer,
 
 1375      const std::string &member_actions_serialized_configuration) 
const;
 
 1394                    const unsigned char **pit_data, 
size_t *pit_length);
 
 1405      std::vector<unsigned char> *
buffer,
 
 1406      const std::string &replication_failover_channels_serialized_configuration)
 
 1412                      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:787
 
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 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 Member_version get_group_lowest_online_version()=0
Return lowest member version.
 
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:1312
 
Group_member_info_list * members
Definition: member_info.h:1420
 
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:1602
 
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:1655
 
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:1573
 
void encode_payload(std::vector< unsigned char > *buffer) const override
Encodes the contents of this instance payload into the buffer.
Definition: member_info.cc:1555
 
enum_payload_item_type
Definition: member_info.h:1314
 
@ PIT_MAX
Definition: member_info.h:1331
 
@ PIT_MEMBER_DATA
Definition: member_info.h:1322
 
@ PIT_RPL_FAILOVER_CONFIGURATION
Definition: member_info.h:1328
 
@ PIT_MEMBER_ACTIONS
Definition: member_info.h:1325
 
@ PIT_MEMBERS_NUMBER
Definition: member_info.h:1319
 
@ PIT_UNKNOWN
Definition: member_info.h:1316
 
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:1614
 
Group_member_info_manager_message()
Group_member_info_manager_message constructor.
Definition: member_info.cc:1499
 
~Group_member_info_manager_message() override
Group_member_info_manager_message destructor.
Definition: member_info.cc:1524
 
Group_member_info_list * get_all_members()
Retrieves all Group members on this message.
Definition: member_info.cc:1539
 
void clear_members()
Clear members and its allocated memory.
Definition: member_info.cc:1530
 
Implementation of the interface Group_member_info_manager_interface.
Definition: member_info.h:1111
 
void add(Group_member_info *new_member) override
Adds a new member to be managed by this Group manager.
Definition: member_info.cc:1158
 
bool is_majority_unreachable() override
Check if majority of the group is unreachable.
Definition: member_info.cc:1428
 
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:1097
 
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:1130
 
void update_member_weight(const std::string &uuid, uint member_weight) override
Updates the weight of a single member.
Definition: member_info.cc:1300
 
void update_primary_member_flag(bool in_primary_mode) override
Changes the primary flag on all members.
Definition: member_info.cc:1315
 
bool is_recovering_member_present() override
Check if a member in recovery exists in the group.
Definition: member_info.cc:1462
 
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:1242
 
bool is_member_info_present(const std::string &uuid) override
Is the member present in the group info.
Definition: member_info.cc:982
 
void update(Group_member_info *update_local_member) override
Removes all members of the group and update new local member.
Definition: member_info.cc:1166
 
void update_enforce_everywhere_checks_flag(bool enforce_everywhere) override
Set the enforces_update_everywhere_checks flag on all members.
Definition: member_info.cc:1324
 
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:1067
 
mysql_mutex_t update_lock
Definition: member_info.h:1270
 
void set_member_unreachable(const std::string &uuid) override
Sets the identified member as unreachable.
Definition: member_info.cc:1223
 
void clear_members()
Definition: member_info.cc:1334
 
void encode(std::vector< uchar > *to_encode) override
Encodes this object to send via the network.
Definition: member_info.cc:1363
 
Group_member_info_list * decode(const uchar *to_decode, size_t length) override
Decodes the raw format of this object.
Definition: member_info.cc:1370
 
size_t get_number_of_members() override
Number of members in the group.
Definition: member_info.cc:963
 
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:996
 
Group_member_info_list * get_all_members() override
Retrieves all Group members managed by this site.
Definition: member_info.cc:1112
 
bool is_conflict_detection_enabled() override
Check if some member of the group has the conflict detection enable.
Definition: member_info.cc:1347
 
Group_member_info * get_group_member_info_by_member_id_internal(const Gcs_member_identifier &id)
Definition: member_info.cc:1051
 
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:1259
 
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:943
 
mysql_mutex_t * get_update_lock() override
This method returns the update lock for consistent read of member state.
Definition: member_info.h:1259
 
bool get_primary_member_uuid(std::string &primary_member_uuid) override
Return the uuid for the for the primary.
Definition: member_info.cc:1383
 
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:1479
 
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:1081
 
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:1202
 
~Group_member_info_manager() override
Definition: member_info.cc:957
 
Group_member_info * local_member_info
Definition: member_info.h:1268
 
size_t get_number_of_members_online() override
Number of ONLINE members in the group.
Definition: member_info.cc:967
 
Group_member_info_map * members
Definition: member_info.h:1267
 
void set_member_reachable(const std::string &uuid) override
Sets the identified member as reachable.
Definition: member_info.cc:1233
 
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:1009
 
Member_version get_group_lowest_online_version() override
Return lowest member version.
Definition: member_info.cc:1030
 
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:1279
 
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:1411
 
bool is_unreachable_member_present() override
Check if an unreachable member exists.
Definition: member_info.cc:1445
 
Definition: member_info.h:82
 
static bool comparator_group_member_version(Group_member_info *m1, Group_member_info *m2)
Definition: member_info.cc:872
 
void set_is_group_action_running(bool is_running)
Sets if the member is currently running a group action.
Definition: member_info.cc:781
 
bool m_preemptive_garbage_collection
Definition: member_info.h:760
 
uint port
Definition: member_info.h:736
 
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:399
 
static std::string get_configuration_flags_string(const uint32 configuation_flags)
Definition: member_info.cc:851
 
bool unreachable
Definition: member_info.h:746
 
uint64 gtid_assignment_block_size
Definition: member_info.h:745
 
std::string get_recovery_endpoints()
List of member advertised recovery endpoints.
Definition: member_info.cc:877
 
void disable_conflict_detection()
Update this member conflict detection to false.
Definition: member_info.cc:756
 
uint32 get_configuration_flags()
Definition: member_info.cc:685
 
std::string recovery_endpoints
Definition: member_info.h:755
 
bool in_primary_mode()
Definition: member_info.cc:716
 
const char * get_write_set_extraction_algorithm_name()
Definition: member_info.cc:667
 
void encode_payload(std::vector< unsigned char > *buffer) const override
Encodes the contents of this instance payload into the buffer.
Definition: member_info.cc:284
 
bool group_action_running
Definition: member_info.h:753
 
static const char * get_configuration_flag_string(const uint32 configuation_flag)
Definition: member_info.cc:837
 
static bool comparator_group_member_uuid(Group_member_info *m1, Group_member_info *m2)
Definition: member_info.cc:907
 
void set_enforces_update_everywhere_checks_flag(bool enforce_everywhere_checks)
Set the enforces_update_everywhere_checks flag.
Definition: member_info.cc:700
 
ulonglong get_gtid_assignment_block_size()
Definition: member_info.cc:680
 
void set_is_primary_election_running(bool is_running)
Sets if the member is currently running a primary election.
Definition: member_info.cc:809
 
bool has_enforces_update_everywhere_checks()
Definition: member_info.cc:721
 
const std::string & get_group_action_running_description()
Get group action description if running on the member.
Definition: member_info.cc:795
 
bool m_allow_single_leader
Definition: member_info.h:757
 
bool get_allow_single_leader()
Definition: member_info.cc:892
 
uint member_weight
Definition: member_info.h:750
 
static bool comparator_group_member_weight(Group_member_info *m1, Group_member_info *m2)
Definition: member_info.cc:912
 
bool conflict_detection_enable
Definition: member_info.h:749
 
bool is_conflict_detection_enabled()
Return true if conflict detection is enable on this member.
Definition: member_info.cc:761
 
Group_member_role role
Definition: member_info.h:747
 
void set_view_change_uuid(const char *view_change_cnf)
Save member view change uuid.
Definition: member_info.cc:897
 
uint32 configuration_flags
Definition: member_info.h:748
 
bool primary_election_running
Definition: member_info.h:754
 
Member_version * member_version
Definition: member_info.h:740
 
bool has_greater_weight(Group_member_info *other)
Return true if member weight is higher than other member weight.
Definition: member_info.cc:933
 
uint get_port()
Definition: member_info.cc:577
 
bool get_default_table_encryption()
Definition: member_info.cc:736
 
~Group_member_info() override
Destructor.
Definition: member_info.cc:182
 
std::string purged_gtid_set
Definition: member_info.h:742
 
uint write_set_extraction_algorithm
Definition: member_info.h:744
 
std::string uuid
Definition: member_info.h:737
 
void enable_conflict_detection()
Update this member conflict detection to true.
Definition: member_info.cc:751
 
bool is_primary_election_running()
Definition: member_info.cc:804
 
bool operator==(Group_member_info &other)
Redefinition of operate ==, which operate upon the uuid.
Definition: member_info.cc:814
 
bool is_group_action_running()
Definition: member_info.cc:776
 
std::string m_group_action_running_name
Definition: member_info.h:758
 
Group_member_status get_recovery_status()
Definition: member_info.cc:590
 
enum_transaction_write_set_hashing_algorithm_compatibility
Definition: member_info.h:198
 
@ HASH_ALGORITHM_XXHASH64
Definition: member_info.h:201
 
@ HASH_ALGORITHM_OFF
Definition: member_info.h:199
 
@ HASH_ALGORITHM_MURMUR32
Definition: member_info.h:200
 
std::string get_view_change_uuid()
Get UID used when logging view change events.
Definition: member_info.cc:887
 
static const char * get_member_status_string(Group_member_status status)
Definition: member_info.cc:819
 
std::string m_group_action_running_description
Definition: member_info.h:759
 
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:628
 
uint lower_case_table_names
Definition: member_info.h:751
 
Gcs_member_identifier * gcs_member_id
Definition: member_info.h:739
 
bool in_primary_mode_internal()
Internal method without concurrency control.
Definition: member_info.cc:712
 
Group_member_role get_role()
Definition: member_info.cc:595
 
std::string retrieved_gtid_set
Definition: member_info.h:743
 
void set_primary_mode_flag(bool in_primary_mode)
Set the primary flag.
Definition: member_info.cc:690
 
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:799
 
bool skip_encode_default_table_encryption
Definition: member_info.h:763
 
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:790
 
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:924
 
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:38
 
uint get_write_set_extraction_algorithm()
Definition: member_info.cc:662
 
bool m_skip_encode_view_change_uuid
Definition: member_info.h:764
 
void set_unreachable()
Sets this member as unreachable.
Definition: member_info.cc:741
 
void set_role(Group_member_role new_role)
Updates this object member role.
Definition: member_info.cc:637
 
Gcs_member_identifier get_gcs_member_id()
Definition: member_info.cc:617
 
std::string get_gtid_purged()
Definition: member_info.cc:652
 
std::string m_view_change_uuid
Definition: member_info.h:756
 
Group_member_status status
Definition: member_info.h:738
 
Member_version get_member_version()
Definition: member_info.cc:642
 
PSI_mutex_key psi_mutex_key
Definition: member_info.h:767
 
std::string get_gtid_executed()
Definition: member_info.cc:647
 
uint get_member_weight()
Return member weight.
Definition: member_info.cc:771
 
Group_member_role
Definition: member_info.h:187
 
@ MEMBER_ROLE_PRIMARY
Definition: member_info.h:188
 
@ MEMBER_ROLE_SECONDARY
Definition: member_info.h:189
 
@ MEMBER_ROLE_END
Definition: member_info.h:190
 
uint get_lower_case_table_names()
Definition: member_info.cc:726
 
std::string executed_gtid_set
Definition: member_info.h:741
 
const std::string & get_group_action_running_name()
Get group action name if running on the member.
Definition: member_info.cc:786
 
void set_recovery_endpoints(const char *endpoints)
Save list of member advertised recovery endpoints.
Definition: member_info.cc:882
 
const char * get_member_role_string()
Definition: member_info.cc:600
 
Group_member_status
Definition: member_info.h:173
 
@ MEMBER_ONLINE
Definition: member_info.h:174
 
@ MEMBER_UNREACHABLE
Definition: member_info.h:178
 
@ MEMBER_OFFLINE
Definition: member_info.h:175
 
@ MEMBER_IN_RECOVERY
Definition: member_info.h:176
 
@ MEMBER_END
Definition: member_info.h:179
 
@ MEMBER_ERROR
Definition: member_info.h:177
 
std::string get_uuid()
Definition: member_info.cc:583
 
mysql_mutex_t update_lock
Definition: member_info.h:734
 
bool has_greater_version(Group_member_info *other)
Return true if member version is higher than other member version.
Definition: member_info.cc:917
 
bool default_table_encryption
Definition: member_info.h:752
 
void set_reachable()
Sets this member as reachable.
Definition: member_info.cc:746
 
std::string hostname
Definition: member_info.h:735
 
std::string get_hostname()
Definition: member_info.cc:571
 
bool is_unreachable()
Return true if this has been flagged as unreachable.
Definition: member_info.cc:731
 
bool get_preemptive_garbage_collection()
Get the value of 'group_replication_preemptive_garbage_collection' option on this member.
Definition: member_info.cc:902
 
void set_member_weight(uint new_member_weight)
Update member weight.
Definition: member_info.cc:766
 
enum_payload_item_type
Definition: member_info.h:84
 
@ PIT_EXECUTED_GTID
Definition: member_info.h:110
 
@ PIT_GCS_ID
Definition: member_info.h:98
 
@ PIT_CONFLICT_DETECTION_ENABLE
Definition: member_info.h:125
 
@ PIT_PURGED_GTID
Definition: member_info.h:143
 
@ PIT_RECOVERY_ENDPOINTS
Definition: member_info.h:146
 
@ PIT_ALLOW_SINGLE_LEADER
Definition: member_info.h:152
 
@ PIT_LOWER_CASE_TABLE_NAME
Definition: member_info.h:131
 
@ PIT_GROUP_ACTION_RUNNING
Definition: member_info.h:134
 
@ PIT_GROUP_ACTION_RUNNING_DESCRIPTION
Definition: member_info.h:158
 
@ PIT_GTID_ASSIGNMENT_BLOCK_SIZE
Definition: member_info.h:116
 
@ PIT_MAX
Definition: member_info.h:164
 
@ PIT_DEFAULT_TABLE_ENCRYPTION
Definition: member_info.h:140
 
@ PIT_PREEMPTIVE_GARBAGE_COLLECTION
Definition: member_info.h:161
 
@ PIT_WRITE_SET_EXTRACTION_ALGORITHM
Definition: member_info.h:107
 
@ PIT_PORT
Definition: member_info.h:92
 
@ PIT_PRIMARY_ELECTION_RUNNING
Definition: member_info.h:137
 
@ PIT_MEMBER_ROLE
Definition: member_info.h:119
 
@ PIT_CONFIGURATION_FLAGS
Definition: member_info.h:122
 
@ PIT_UNKNOWN
Definition: member_info.h:86
 
@ PIT_UUID
Definition: member_info.h:95
 
@ PIT_GROUP_ACTION_RUNNING_NAME
Definition: member_info.h:155
 
@ PIT_VIEW_CHANGE_UUID
Definition: member_info.h:149
 
@ PIT_MEMBER_WEIGHT
Definition: member_info.h:128
 
@ PIT_RETRIEVED_GTID
Definition: member_info.h:113
 
@ PIT_VERSION
Definition: member_info.h:104
 
@ PIT_STATUS
Definition: member_info.h:101
 
@ PIT_HOSTNAME
Definition: member_info.h:89
 
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)
Update Group_member_info.
Definition: member_info.cc:188
 
void update_recovery_status(Group_member_status new_status)
Updates this object recovery status.
Definition: member_info.cc:623
 
bool has_lower_uuid(Group_member_info *other)
Return true if server uuid is lower than other member server uuid.
Definition: member_info.cc:928
 
std::string get_gtid_retrieved()
Definition: member_info.cc:657
 
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:128
 
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:778
 
Group_member_info_list::iterator Group_member_info_list_iterator
Definition: member_info.h:772
 
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:777
 
std::vector< Group_member_info *, Malloc_allocator< Group_member_info * > > Group_member_info_list
Definition: member_info.h:771
 
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:203
 
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:2897
 
#define NODISCARD
The function attribute [[NODISCARD]] is a replacement for [[nodiscard]] to workaround a gcc bug.
Definition: nodiscard.h:47
 
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
 
An instrumented mutex structure.
Definition: mysql_mutex_bits.h:50