in src/failover/failover_service.cc [121:136]
void FailoverService::init_failover_mode(const std::string& host) {
if (this->conn_info_->contains(FAILOVER_MODE_KEY)) {
std::string mode = StringHelper::ToString(this->conn_info_->at(FAILOVER_MODE_KEY));
for (auto failover_mode_mapping : FAILOVER_MODE_MAPPING) {
if (strcmp_case_insensitive(mode.c_str(), failover_mode_mapping.mode_str) == 0) {
this->failover_mode_ = failover_mode_mapping.mode;
break;
}
}
}
if (this->failover_mode_ == UNKNOWN_FAILOVER_MODE) {
this->failover_mode_ = RdsUtils::IsRdsReaderClusterDns(host) ? READER_OR_WRITER : STRICT_WRITER;
}
}