Failure recovery
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Funcionalidade
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- fsharp, sql
- Domínio
- backend, databases, networking
Direção de pesquisa
Comece com GetDataContext() e o comportamento descrito para conexões estáticas; em seguida, leia a discussão relacionada sobre a infraestrutura em #238. O trabalho estará concluído quando houver um escopo acordado para os helpers de recuperação e um registro reproduzível dos casos de conexão interrompida e dicionário vazio.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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?
- Linguagem predominante
- F#
- Estrelas
- 627
- Forks
- 148
- Merge médio
- 2h 2min
- PRs com merge (30d)
- 1
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de fsprojects/SQLProvider
-
enhancement
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
fsprojects/SQLProvider#872 · 2 comentários ·
-
Repo Assist?Abertaenhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 10/100
fsprojects/SQLProvider#870 · 1 comentário ·
-
postgresql
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 58/100
fsprojects/SQLProvider#869 · 2 comentários ·
-
documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 42/100
fsprojects/SQLProvider#868 · 2 comentários ·
-
sql server
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
fsprojects/SQLProvider#851 · 1 comentário ·
Todas as issues de fsprojects/SQLProvider
Issues semelhantes
-
Executable-extension and MIME blocklist is case-sensitive; .EXE and mixed-case variants bypass itAbertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
awslabs/visual-asset-management-system#412 ·
Mantenedores costumam responder em até 1 dia
-
[BUG] 订单:会员凭订单号即可取消其他会员的待付款订单(取消接口不校验订单归属)Talvez já em andamento @dadiyang assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
macrozheng/mall#1016 ·
-
bug v1 v2
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
modelcontextprotocol/python-sdk#3670 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
bug pending triage scope/agent
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
zerocracy/judges-action#2739 ·
Mantenedores costumam responder em até 8 dias