open-consul/agent/submatview
Daniel Upton 1cd7ec0543 proxycfg: terminate stream on irrecoverable errors
This is the OSS portion of enterprise PR 2339.

It improves our handling of "irrecoverable" errors in proxycfg data sources.

The canonical example of this is what happens when the ACL token presented by
Envoy is deleted/revoked. Previously, the stream would get "stuck" until the
xDS server re-checked the token (after 5 minutes) and terminated the stream.

Materializers would also sit burning resources retrying something that could
never succeed.

Now, it is possible for data sources to mark errors as "terminal" which causes
the xDS stream to be closed immediately. Similarly, the submatview.Store will
evict materializers when it observes they have encountered such an error.
2022-08-23 20:17:49 +01:00
..
handler.go
local_materializer.go proxycfg: terminate stream on irrecoverable errors 2022-08-23 20:17:49 +01:00
local_materializer_test.go proxycfg: server-local config entry data sources 2022-07-04 10:48:36 +01:00
materializer.go proxycfg: server-local config entry data sources 2022-07-04 10:48:36 +01:00
mock_ACLResolver.go proxycfg: server-local config entry data sources 2022-07-04 10:48:36 +01:00
rpc_materializer.go peering: initial sync (#12842) 2022-04-21 17:34:40 -05:00
store.go proxycfg: terminate stream on irrecoverable errors 2022-08-23 20:17:49 +01:00
store_integration_test.go grpc: rename public/private directories to external/internal (#13721) 2022-07-13 16:33:48 +01:00
store_test.go proxycfg: terminate stream on irrecoverable errors 2022-08-23 20:17:49 +01:00
streaming_test.go proxycfg: server-local config entry data sources 2022-07-04 10:48:36 +01:00