envoyproxy / envoyproxy/envoy

HDS should't initialize HdsCluster hosts as FAILED_ACTIVE_HC

Aperta
#5,408 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub
area/hds enhancement help wanted
Lingua principale
C++
Stelle
28.9k
Fork
5.6k
Merge medio
1g 22h
PR unite (30g)
430

Descrizione

*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 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

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.