Consolidate retries across Dapr (Finish retry across all building blocks (service invocation, state management))
#1289 aperta il 19 mar 2020
Metriche repository
- Star
- (25.672 star)
- Metriche merge PR
- (Merge medio 2g 19h) (63 PR mergiate in 30 g)
Descrizione
Today, there are 2 places for retries in Dapr:
The first is service invocation, which will retry based on transient errors and unauthenticated errors from the target Dapr sidecar. The logic for that retry sits in the direct messaging code under pkg/messaging.
The second is retry logic for stateful operations, which is configurable by the user on a per-call operation. the logic for that retry sits in components-contrib.
The proposal here is to consolidate retries under our middleware layer, and thus have them apply to all of Dapr's building blocks and APIs, and will apply for any future building blocks and APIs without any additional change.
This would also provide consistency in implementation, in addition to API surface coverage, and will apply to both HTTP and gRPC.
/cc @LMWF