mirror of https://github.com/grpc/grpc-node.git
More EDS logging, and improved weight handling
This commit is contained in:
parent
286c81a924
commit
2c98a3d3f9
|
|
@ -135,6 +135,7 @@ export class EdsLoadBalancer implements LoadBalancer {
|
||||||
});
|
});
|
||||||
this.watcher = {
|
this.watcher = {
|
||||||
onValidUpdate: (update) => {
|
onValidUpdate: (update) => {
|
||||||
|
trace('Received EDS update for ' + this.edsServiceName + ': ' + JSON.stringify(update));
|
||||||
this.latestEdsUpdate = update;
|
this.latestEdsUpdate = update;
|
||||||
this.updateChild();
|
this.updateChild();
|
||||||
},
|
},
|
||||||
|
|
@ -229,6 +230,9 @@ export class EdsLoadBalancer implements LoadBalancer {
|
||||||
* loop consolidates localities into buckets by priority, while also
|
* loop consolidates localities into buckets by priority, while also
|
||||||
* simplifying the data structure to make the later steps simpler */
|
* simplifying the data structure to make the later steps simpler */
|
||||||
for (const endpoint of this.latestEdsUpdate.endpoints) {
|
for (const endpoint of this.latestEdsUpdate.endpoints) {
|
||||||
|
if (!endpoint.load_balancing_weight) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
const addresses: SubchannelAddress[] = endpoint.lb_endpoints.filter(lbEndpoint => lbEndpoint.health_status === 'UNKNOWN' || lbEndpoint.health_status === 'HEALTHY').map(
|
const addresses: SubchannelAddress[] = endpoint.lb_endpoints.filter(lbEndpoint => lbEndpoint.health_status === 'UNKNOWN' || lbEndpoint.health_status === 'HEALTHY').map(
|
||||||
(lbEndpoint) => {
|
(lbEndpoint) => {
|
||||||
/* The validator in the XdsClient class ensures that each endpoint has
|
/* The validator in the XdsClient class ensures that each endpoint has
|
||||||
|
|
@ -249,7 +253,7 @@ export class EdsLoadBalancer implements LoadBalancer {
|
||||||
localityArray.push({
|
localityArray.push({
|
||||||
locality: endpoint.locality!,
|
locality: endpoint.locality!,
|
||||||
addresses: addresses,
|
addresses: addresses,
|
||||||
weight: endpoint.load_balancing_weight?.value ?? 0,
|
weight: endpoint.load_balancing_weight.value,
|
||||||
});
|
});
|
||||||
newLocalityPriorities.set(
|
newLocalityPriorities.set(
|
||||||
localityToName(endpoint.locality!),
|
localityToName(endpoint.locality!),
|
||||||
|
|
@ -374,7 +378,8 @@ export class EdsLoadBalancer implements LoadBalancer {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
trace('Child update addresses: ' + addressList.map(address => '(' + subchannelAddressToString(address) + ' path=' + address.localityPath + ')'));
|
trace('Child update addresses: ' + addressList.map(address => '(' + subchannelAddressToString(address) + ' path=' + address.localityPath + ')'));
|
||||||
for (const [childName, child] of childConfig.priority.priorities.entries()) {
|
trace('Child update priority list: ' + childConfig.priority.priorities);
|
||||||
|
for (const [childName, child] of childConfig.priority.children) {
|
||||||
trace('Child update priority config: ' + childName + ' -> ' + JSON.stringify(child));
|
trace('Child update priority config: ' + childName + ' -> ' + JSON.stringify(child));
|
||||||
}
|
}
|
||||||
this.childBalancer.updateAddressList(
|
this.childBalancer.updateAddressList(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue