26#ifndef MYSQLROUTER_METADATA_CACHE_DATATYPES_INCLUDED
27#define MYSQLROUTER_METADATA_CACHE_DATATYPES_INCLUDED
34#include <system_error>
59 :
public std::true_type {};
64 class metadata_category_impl :
public std::error_category {
66 const char *
name()
const noexcept override {
return "metadata cache"; }
67 std::string message(
int ev)
const override {
72 return "no metadata server accessible";
74 return "did not successfully read metadata from any metadata server";
76 return "metadata refresh terminated";
78 return "cluster not found in the metadata";
80 return "unexpected cluster type";
82 return "higher view_id seen";
84 return "metadata schema version not supported";
86 return "failed updating Replication Group status";
93 static metadata_category_impl instance;
111 const std::string &p_mysql_server_uuid,
113 const std::string &p_host,
const uint16_t p_port,
114 const uint16_t p_xport, std::string label);
147 bool disconnect_existing_sessions_when_hidden{
154 std::map<std::string, std::string, std::less<>> tags{};
161 std::string
result =
"uuid: " + mysql_server_uuid +
"\n";
198 bool md_discrepancy{
false};
200 bool has_quorum{
true};
203 bool is_primary{
true};
205 bool is_invalidated{
false};
207 bool empty() const noexcept {
return members.empty(); }
209 void clear() noexcept { members.clear(); }
234 std::optional<metadata_cache::metadata_server_t> writable_server{};
239 for (
const auto &cluster : clusters_data) {
241 cluster.members.end());
248 for (
auto &cluster : clusters_data) {
249 cluster.members.clear();
Definition: destination.h:40
static std::string to_string(const LEX_STRING &str)
Definition: lex_string.h:50
const char * host
Definition: mysqladmin.cc:66
InstanceType
Definition: cluster_metadata.h:216
ServerMode
Definition: datatypes.h:50
constexpr const bool kNodeTagDisconnectWhenHiddenDefault
Definition: cluster_metadata.h:214
constexpr const bool kNodeTagHiddenDefault
Definition: cluster_metadata.h:213
Definition: gcs_xcom_synode.h:64
mode
Definition: file_handle.h:61
struct result result
Definition: result.h:34
required uint64 port
Definition: replication_asynchronous_connection_failover.proto:33
required uint64 version
Definition: replication_group_member_actions.proto:41
case opt name
Definition: sslopt-case.h:29
Definition: datatypes.h:45