API timeout/retry policies
Learn the timeout/retry policies of the Radius API
Radius services
There are two main Radius services that will provide the resources described below:
Deployment engine behavior
Operation | Resource Name | Server Timeout (Seconds) | Async Operation retry condition | |
---|---|---|---|---|
Default retry timeout for resource deployment | The name of your resource. | 12.5 minutes per resource | Retries on 5xx errors, 50 retry requests | |
Default request timeout | Dependent on UCP |
Resource provider behavior
Timeout duration
The default timeout times are listed below but be aware that the asynchronous timeout varies per resource type.
- Default synchronous API timeout : 60 seconds. It depends on UCP gateway timeout.
- Default asynchronous API timeout : 120 seconds
Asynchronous operation retry policy
Each resource type controller decides whether it will retry to process the operation when it fails, but the current async operation controller immediately marks any errors as a Failed
operation except for the following scenario:
- Panic happens while processing the async operation by code defect (retry once, then mark the operation Failed)
- Resource provider process exits by unexpected process crashes (such as node failure, memory leak) and redeploying Radius. (retry once , then mark the operation Failed)
Applications.Core resource provider
Resource Type | Operation | API Type | Server Timeout (Seconds) | Async Operation retry condition |
---|---|---|---|---|
Applications.Core/environments | LIST/GET/PUT/PATCH/DELETE | Synchronous | default | |
Applications.Core/applications | LIST/GET/PUT/PATCH/DELETE | Synchronous | default | |
Applications.Core/containers | LIST/GET | Synchronous | default | |
Applications.Core/containers | PUT/PATCH/DELETE | Asynchronous | 300 | default |
Applications.Core/gateways | LIST/GET | Synchronous | default | |
Applications.Core/gateways | PUT/PATCH/DELETE | Asynchronous | default | default |
Applications.Core/extenders | LIST/GET/PUT/PATCH/DELETE | Synchronous | default | |
Applications.Core/extenders | POST ListSecret | Synchronous | default |
Applications.Dapr resource providers
Resource Type | Operation | API Type | Server Timeout (Seconds) | Async Operation retry condition |
---|---|---|---|---|
Applications.Dapr/pubSubBrokers | LIST/GET/PUT/PATCH/DELETE | Synchronous | default | |
Applications.Dapr/pubSubBrokers | POST ListSecret | Synchronous | default | |
Applications.Dapr/secretStores | LIST/GET/PUT/PATCH/DELETE | Synchronous | default | |
Applications.Dapr/secretStores | POST ListSecret | Synchronous | default | |
Applications.Dapr/stateStores | LIST/GET/PUT/PATCH/DELETE | Synchronous | default | |
Applications.Dapr/stateStores | POST ListSecret | Synchronous | default |
Applications.Datastores resource providers
Resource Type | Operation | API Type | Server Timeout (Seconds) | Async Operation retry condition |
---|---|---|---|---|
Applications.Datastores/mongoDatabases | LIST/GET/PUT/PATCH/DELETE | Synchronous | default | |
Applications.Datastores/mongoDatabases | POST ListSecret | Synchronous | default | |
Applications.Datastores/rabbitMQMessageQueues | LIST/GET/PUT/PATCH/DELETE | Synchronous | default | |
Applications.Datastores/rabbitMQMessageQueues | POST ListSecret | Synchronous | default | |
Applications.Datastores/redisCaches | LIST/GET/PUT/PATCH/DELETE | Synchronous | default | |
Applications.Datastores/redisCaches | POST ListSecret | Synchronous | default | |
Applications.Datastores/sqlDatabases | LIST/GET/PUT/PATCH/DELETE | Synchronous | default | |
Applications.Datastores/sqlDatabases | POST ListSecret | Synchronous | default |
Feedback
Was this page helpful?
Glad to hear it! Please feel free to star our repo and join our Discord server to stay up to date with the project.
Sorry to hear that. If you would like to also contribute a suggestion visit and tell us how we can improve.