Azure / Azure/azure-sdk-for-java

clientcore: refactor SSE retries

Offen
#44,934 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Azure.Core.V2 clientcore
Vorherrschende Sprache
Java
Sterne
2.6k
Forks
2.2k
Ø Merge
2 T. 9 Std.
Gemergte PRs (30 T.)
199

Beschreibung

SSE retries should have:
- retry policy config - probably the same as generic HTTP one
- instrumentation - logging/tracing/metrics same as generic HTTP
- HTTP-client agnostic implementation
- stress tests to validate

We need to find a way to extend retry policy to support retrying long-running HTTP streams (or find other solution for SSE config/observability).

It involves some way for retry policy to know how to modify request to retry from the new position and a way to obtain retry-after from HTTP response or SSE message.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, die SSE-Wiederholungsimplementierung und die generische HTTP-Wiederholungsrichtlinie zu lokalisieren, und vergleiche anschließend, wie HTTP-Antworten und SSE-Nachrichten Informationen zu retry-after bereitstellen. Definiere vor der Implementierung die Anforderungen an Wiederholungsrichtlinie, Instrumentierung, HTTP-Client-Unabhängigkeit, Fortsetzen von Anfragen und Stresstests; als erledigt gilt die Arbeit, wenn lang laufende SSE-Streams an der korrekten Position erneut versuchen, mit gleichwertiger Beobachtbarkeit und validierten Stresstests.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
api
Issue-Typ
Refactoring
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.