-
Notifications
You must be signed in to change notification settings - Fork 117
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
Do delivery specs in broker configs apply to event processing errors as well as delivery failures? #3746
Comments
Thanks for reporting @gilesrapkinb, this is not expected, would you mind also sharing the step 2 and 3, so that we could just run them and debug the issue? |
For step 2 you could use something like nicholasjackson/fake-service. Deploy the function: kn service create test500 \
--image nicholasjackson/fake-service:v0.26.2 \
--env 'LISTEN_ADDR=0.0.0.0:8080' \
--env 'ERROR_RATE=1' Set up a trigger: kn trigger create test500 \
--sink test500 \
--broker YOUR_BROKER Then for step 3 push a test event to your broker. In the
|
This issue is stale because it has been open for 90 days with no |
/remove-lifecycle stale |
@pierDipi has anybody been able to reproduce this yet? |
This issue is stale because it has been open for 90 days with no |
/remove-lifecycle stale |
Describe the bug
This is more of a question than a bug report.
I've recently set up Knative eventing with Kafka brokers; one main broker, with another Kafka broker configured as a dead letter sink. Also a delivery spec with retries, exponential backoff etc. configured.
I was trying to test the dead letter sink setup with a test function that always returns a 500 in response to any events. The retry behaviour is not quite what I expected. Events seem to get retried forever instead of the retry count specified in the delivery spec.
I am able to get events to get sent to the dead letter sink under other scenarios, e.g. setting the test function to timeout, or respond in a way that doesn't conform to the delivery contract (like responding with a 200 without a cloudevent in the response body).
Is a function responding with a 500 error not considered a delivery failure? If not, what is the expected behaviour in this scenario? Is there another way to configure retry/backoff/dead letter behaviour for event processing failures?
Expected behavior
I initially expected the delivery spec to also apply to events that weren't processed successfully by a function that received the event (responded with a 500).
To Reproduce
Knative release version
1.13.1
Additional context
N/A
The text was updated successfully, but these errors were encountered: