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

missing cluster error handling #123

Closed
eguzki opened this issue Oct 28, 2024 · 2 comments · Fixed by #125
Closed

missing cluster error handling #123

eguzki opened this issue Oct 28, 2024 · 2 comments · Fixed by #125
Assignees

Comments

@eguzki
Copy link
Contributor

eguzki commented Oct 28, 2024

When the service endpoint does not exist from the defined set of envoy clusters.

"services": {
  "mistyped-service": {
    "type": "ratelimit",
    "endpoint": "does-not-exist",
    "failureMode": "deny"
  }
},
"actionSets": [
{
    "actions": [
        {
            "service": "mistyped-service",
            "scope": "b",
            "data": [
                {
                    "expression": {
                        "key": "limit_to_be_activated",
                        "value": "1"
                    }
                }
            ]
        }
    ]
}
]

Then, the request will Continue regardless of failureMode config.

I have implemented an e2e test that reproduces this issue: #122

@didierofrivia
Copy link
Member

I'm a bit confused, since #122 is about parallel requests to envoy and this issue is about error handling? The implementation of the operation dispatcher is a basic one, I agree we need error handling (among other things), but mistyped configuration would kind of be a thing coming from the Kuadrant Operator.
In any case, if a given request to a service fails, we should follow the failureMode config for that service and Allow/Deny respectively or define a set of operations to follow depending on the service? (i.e: retry, authorize, limit...etc)

@eguzki
Copy link
Contributor Author

eguzki commented Oct 28, 2024

In any case, if a given request to a service fails, we should follow the failureMode config for that service and Allow/Deny respectively or define a set of operations to follow depending on the service?

I would say follow the failureMode. 🤷

@didierofrivia didierofrivia self-assigned this Oct 28, 2024
@didierofrivia didierofrivia moved this to In Progress in Kuadrant Oct 29, 2024
@github-project-automation github-project-automation bot moved this from In Progress to Done in Kuadrant Nov 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants