Skip to content

CM: Add on-demand cluster discovery functionality#18723

Merged
htuch merged 14 commits intoenvoyproxy:mainfrom
kinvolk:krnowak/odcds-cm-only
Feb 4, 2022
Merged

CM: Add on-demand cluster discovery functionality#18723
htuch merged 14 commits intoenvoyproxy:mainfrom
kinvolk:krnowak/odcds-cm-only

Conversation

@krnowak
Copy link
Copy Markdown
Contributor

@krnowak krnowak commented Oct 22, 2021

Commit Message:
OdCdsApi interface is introduced as an API used for the on-demand discovery. The implementation of it is provided using the CdsApiHelper class, so OdCdsApiImpl handles the discovered cluster in the same way as CdsApiImpl does. On the ClusterManagerImpl side, the discovery manager (ClusterDiscoveryManager) is added to help in deduplicating the requests for the same cluster from within the same worker thread. Further deduplication of the requests coming from different worker threads is done in ClusterManagerImpl in the main thread. Each unique request for a cluster also receives a timeout to catch a case when a discovery fails, thus allowing to let the worker threads to handle the failure.

Additional Description:
This is a continuation of #15857 - I could not reopen it, so I'm opening a new PR. I used the opportunity to rebase my changes on top of main.

Risk Level:
Low. A new feature not wired up anywhere yet.

Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants