envoyproxy/envoy

Avoid lossy LRS during cluster updates

Open

#12,823 opened on Aug 26, 2020

View on GitHub
 (0 comments) (0 reactions) (0 assignees)C++ (5,373 forks)batch import
area/load reportingbughelp wanted

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

Description

From https://github.com/grpc/proposal/pull/200, when a cluster update for X is received and the new cluster is active after warming, the old X cluster may still be draining for an indefinite period if it has active streams. Only the stats for new requests/streams on X will participate in LRS reporting at this point. This seems to be potentially misleading when reporting load only for the new X.

There are two scenarios to consider:

  1. When the EDS service name changes. I think in this case we should generate two LRS reports, one for old cluster X (including the older EDS service name) and another for new cluster X (including the new EDS service name).
  2. When the EDS service name is the same. I think a unified LRS report should be created aggregating old/new cluster X.

Contributor guide