dapr/dapr

Consolidate retries across Dapr (Finish retry across all building blocks (service invocation, state management))

Open

#1 289 ouverte le 19 mars 2020

Voir sur GitHub
 (8 commentaires) (12 réactions) (1 assigné)Go (2 064 forks)batch import
P1area/runtimehelp wantedkind/feature

Métriques du dépôt

Stars
 (25 672 stars)
Métriques de merge PR
 (Merge moyen 2j 19h) (63 PRs mergées en 30 j)

Description

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

Guide contributeur