envoyproxy/envoy
在 GitHub 查看HDS should't initialize HdsCluster hosts as FAILED_ACTIVE_HC
Open
#5,408 创建于 2018年12月24日
area/hdsenhancementhelp wanted
仓库指标
- Star
- (27,997 star)
- PR 合并指标
- (平均合并 8天) (30 天内合并 378 个 PR)
描述
Title: HDS should't initialize HdsCluster hosts as FAILED_ACTIVE_HC
Description:
HDS should't initialize HdsCluster hosts as FAILED_ACTIVE_HC, because when we may use hds as a heartbeat reporting channel with only endpoints and no health checks as follows:
cluster_health_checks {
cluster_name: "user"
locality_endpoints {
endpoints {
address {
socket_address {
address: "172.16.0.1"
port_value: 8080
}
}
}
}
}
interval {
seconds: 5
}
we should chanage the initializing as follows:
void HdsCluster::initialize(std::function<void()> callback) {
initialization_complete_callback_ = callback;
//for (const auto& host : *initial_hosts_) {
// host->healthFlagSet(Host::HealthFlag::FAILED_ACTIVE_HC);
//}
auto& first_host_set = priority_set_.getOrCreateHostSet(0);
auto healthy = createHealthyHostList(*initial_hosts_);
first_host_set.updateHosts(initial_hosts_, healthy, HostsPerLocalityImpl::empty(),
HostsPerLocalityImpl::empty(), {}, *initial_hosts_, {}, absl::nullopt);
}
related to issue: #1845