Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handling failures in Composite SD #957

Open
aureamunoz opened this issue Oct 14, 2024 · 3 comments
Open

Handling failures in Composite SD #957

aureamunoz opened this issue Oct 14, 2024 · 3 comments
Assignees

Comments

@aureamunoz
Copy link
Collaborator

aureamunoz commented Oct 14, 2024

At the moment, the implementation fails if any of the sub-discovery mechanisms fail to find a matching service instance.
The failure should only occur if none of the sub-discovery mechanisms find a matching instance or if all of them fail.

Proposed Solution
If one sub-discovery fails but another successfully provides a service instance, the system should pass the available instance rather than failing altogether. This would allow the service to continue with whichever discovery method succeeds, rather than relying on all methods to be successful.

Related to #952

@aureamunoz aureamunoz self-assigned this Oct 14, 2024
@famod
Copy link

famod commented Oct 15, 2024

First off: thanks for tracking this!

I'm wondering whether users should be given a choice how the Composite SD shall react if one of the composed discovery services fails/is not available.
I'm thinking of something like:

  • FAIL (like today)
  • WARN_TAKE_NEXT
  • TAKE_NEXT

WDYT?

@cescoffier
Copy link
Contributor

I agree, it should be a strategy. The default might be "fail" to avoid changing the current behavior.

@aureamunoz
Copy link
Collaborator Author

+1. Giving users the choice on how the Composite Service Discovery should react to failures sounds like a very flexible and user-friendly approach

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

No branches or pull requests

3 participants