Failure recovery
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Feature
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- fsharp, sql
- Bereich
- backend, databases, networking
Rechercherichtung
Beginnen Sie mit GetDataContext() und dem für statische Verbindungen beschriebenen Verhalten, und lesen Sie anschließend die zugehörige Infrastrukturdiskussion in #238. Als abgeschlossen gilt die Aufgabe, wenn der Umfang der Recovery-Helfer abgestimmt ist und eine reproduzierbare Darstellung der Fälle mit unterbrochener Verbindung und leerem Dictionary vorliegt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
I have a (quite common scenario I suppose) web server using SQLProvider to connect a database that is located on a different server.
Sometimes the network connection does fail. That is the nature of HTTP. I try to deal with that having a retry logics when calling GetDataContext().
Now, if the web-server runs a maintenance boot (Windows update) and the network connection is not up and running when the server restarts, this is what happens:
- Server will start, but the connection is in a broken state
- If the connection is stored to a static variable, all the queries will crash on runtime even when the connection has been restored. Maybe because the column dictionary is empty or something.
- This can be fixed by accessing the connection as a function, having a backing-field for the connection, and creating it again if it's null.
- Another problem seems to be that if the server is running for long time, it seems that the primary-key dictionary goes to empty. This will cause update clauses not to work. I don't know yet the scenario and why but I think it's again about network connection breakups.
Besides that, there is more generic infrastructure, described more detailed in #238 but that started to be off-topic so I started a new issue.
Should we have some kind of extra-functions-namespace (like namespace FSharp.Data.Sql.Extensions) in SQLProvider to provide customers some tools to fight with this kind of nasty real life problems?
- Vorherrschende Sprache
- F#
- Sterne
- 627
- Forks
- 147
- Ø Merge
- 2 Std. 2 Min.
- Gemergte PRs (30 T.)
- 1
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus fsprojects/SQLProvider
-
enhancement
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
fsprojects/SQLProvider#872 · 2 Kommentare ·
-
Repo Assist? Offenenhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 10/100
fsprojects/SQLProvider#870 · 1 Kommentar ·
-
postgresql
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 58/100
fsprojects/SQLProvider#869 · 2 Kommentare ·
-
documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 42/100
fsprojects/SQLProvider#868 · 2 Kommentare ·
-
sql server
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
fsprojects/SQLProvider#851 · 1 Kommentar ·
Alle Issues in fsprojects/SQLProvider
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 80/100
microsoft/magentic-ui#588 ·
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
alexgorbatchev/simple-ptt#3 · 1 Kommentar ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
CorrelAid/formtransform#44 ·