-
Notifications
You must be signed in to change notification settings - Fork 611
Description
Description
Sink services are usually very heterogeneous, each one with different response time characteristics, depending on their functionality, the way they're implemented, the guarantees the user wants. Because of that, timeouts of a request, when dispatching an event, may vary. DeliverySpec
doesn't give the ability to the user to specify the timeout of the single request, so we usually just default to something like 10 seconds. This is not enough, and doesn't cover a lot of use cases where this parameter needs to be tuned.
This experimental feature proposed to add a new field to the DeliverySpec
to define such timeout for each dispatched request.
Exit Criteria
DeliverySpec
allows to configure the timeout of the single request.
Experimental flag name: delivery-timeout
Experimental feature stages plan
Below the proposed plan for the feature stages (this list implicitly includes the requirements defined in the process)
- Alpha: Included in 0.24
- Add in the API code the
DeliverySpec.Timeout
field Delivery timeout #5149 - Implement in kncloudevents module the handling of timeouts per-request RetryConfig.RequestTimeout to configure the timeout of a single request #5503
- Implement the glue code between the api field and kncloudevents module Glue Delivery.Timeout to RetryConfig.RequestTimeout #5507
- e2e test Glue Delivery.Timeout to RetryConfig.RequestTimeout #5507
- User documentation Documentation for DeliverySpec.Timeout docs#3793
- Add in the API code the
- Beta graduation as soon as 1 release after the inception.
- Beta:
- User documentation stabilization and improvements
- Add conformance tests Test DeliverySpec.Timeout for Trigger #5565
- Stable graduation as 2 releases after the beta graduation
- Stable:
- Add the requirement to support
DeliverySpec.Timeout
to the knative/specs repo: Add timeout to the delivery spec specs#15 (comment)
- Add the requirement to support
Affected WG
- Event Delivery WG
Prior discussion
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Status