Add new overload for `EnableRetryOnFailure` that allows to pass in `maxRetryCount` and `maxRetryDelay`.

Offen
#3,268 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
35/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
csharp, postgresql
Bereich
database

Rechercherichtung

Start with the EnableRetryOnFailure overloads in src/EFCore.PG/Infrastructure/NpgsqlDbContextOptionsBuilder.cs, especially the location linked in the issue, and read the TODO in src/EFCore.PG/NpgsqlRetryingExecutionStrategy.cs for context. Done means the options builder offers an overload taking maxRetryCount and maxRetryDelay without requiring errorCodesToAdd; check the related tests for the expected overload behavior.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

blocked

None of the four available overloads allow to pass just the max retry count (int) and max delay (TimeSpan). The closest fit to this, is an overload that accepts (int, TimeSpan, ICollection<string>?) where the last parameter is errorCodesToAdd.

Since the purpose of the parameter errorCodesToAdd is unclear and the use of the backing field seems to be a work in progress per the TODO comment at the bottom of NpgsqlRetryingExecutionStrategy.cs, there should be an overload that ignores the existence of said field.

https://github.com/npgsql/efcore.pg/blob/e31994185bee5ff05d06676c872911eeb11f8ae0/src/EFCore.PG/Infrastructure/NpgsqlDbContextOptionsBuilder.cs#L201

Vorherrschende Sprache
C#
Sterne
1.8k
Forks
268
Ø Merge
2 Std. 35 Min.
Gemergte PRs (30 T.)
136

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus npgsql/efcore.pg

Alle Issues in npgsql/efcore.pg

Ähnliche Issues

Weitere Issues zu C#

Neue Issues direkt in Ihr Postfach

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