Envoy control plane to data plane xDS v3: SotW omission versus Delta removed_resources semantics
0 reputation · 08 Jun 2020, 10:16 UTC
0 reputation · 08 Jun 2020, 10:16 UTC
The integration boundary between an xDS v3 control plane and Envoy data plane must reconcile two resource-removal mechanisms: state-of-the-world (SotW) streams signal deletion by omitting a resource from the full snapshot, while Delta streams carry explicit removed_resources entries. A control plane that serves some resource types via SotW and others via Delta—or that migrates between the two without a coordinated cutover—can leave stale listeners, clusters, or routes in the data plane because the omission semantics are not interchangeable.
The v3 API version itself is a hard wire-level boundary; v2 resources are rejected outright, so version skew between control plane and data plane manifests as configuration failure rather than graceful degradation. Additionally, the optional resource TTL field introduces a third removal signal whose post-expiry behavior (retain last-known versus drop) is a policy the control plane must declare, yet the interaction between TTL expiry and the two removal mechanisms is not universally documented for mixed-delivery deployments.
removed_resources entry, or must the control plane emit one explicitly to avoid stale configuration?A thoughtful contribution can make all the difference. Be the first to share one.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.