envoyproxy / envoyproxy/gateway

Support recovery after translation errors

Open
#5,465 4 comments 0 reactions 0 assignees View on GitHub
area/xds-translator stale
Dominant language
Go
Stars
3k
Forks
864
Avg merge
2d 2h
Merged PRs (30d)
140

Description

*Description*:
Currently, EG may work in either `FailOpen` or `FailClosed` mode when encountering XDS translation errors. Errors can stem from invalid resources or transient failures (e.g. in connection to the extension server).

When failures occur, a best-effort XDS state is stored, which is likely disruptive to end users, either due to wiped-out routes and listeners or due to partially translated configuration.

EG should attempt to recover from failed translations. This can be accomplished by:
- Retrying translation (with delay and backoff)
- Retriggering translation when errors are fixed: malformed resources are fixed by users (already supported), connectivity to extension server is restored.
- Periodically reconciling XDS to fix entropy

Ideally, the message framework in EG should be used to trigger a recovery/retry translation. Components such as Extension Manager and XDS Translator should be able to trigger a retry/recover translation by publishing a relevant message.

[optional *Relevant Links*:]
>Any extra documentation required to understand the issue.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.