firestore times out when using default DNS resolver
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 28/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- python
- Domínio
- databases, networking
Direção de pesquisa
Comece executando o exemplo de Firestore com asyncio da issue usando firebase-admin 6.5.0 e Python 3.12.2 e, em seguida, repita-o com GRPC_DNS_RESOLVER=native. Investigue o caminho do resolver padrão indicado pelos logs do c-ares; considera-se concluído quando o exemplo não esperar mais 60 segundos nem falhar no DNS sem exigir o workaround.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
import asyncio
import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore_async
import sys
async def main():
user_id = sys.argv[1]
cred = credentials.Certificate("credentials.json")
firebase_admin.initialize_app(cred)
db = firestore_async.client()
user_ref = db.collection("users").document(user_id)
user = await user_ref.get()
print(user)
if __name__ == "__main__":
asyncio.run(main())
This code, using a firebase service account credential, and a database with a users table, will hang for 60 seconds and will fail with a DNS error, this one:
D0408 14:38:20.114377000 7971737600 grpc_ares_wrapper.cc:723] (c-ares resolver) request:0x60000318e4e0 on_hostbyname_done_locked: C-ares status is not ARES_SUCCESS qtype=AAAA name=firestore.googleapis.com is_balancer=0: DNS query cancelled
D0408 14:38:20.114381000 7971737600 grpc_ares_wrapper.cc:723] (c-ares resolver) request:0x60000318e4e0 on_hostbyname_done_locked: C-ares status is not ARES_SUCCESS qtype=A name=firestore.googleapis.com is_balancer=0: DNS query cancelled
...
D0408 14:38:20.114467000 7971737600 dns_resolver_ares.cc:328] (c-ares resolver) resolver:0x600003f8d4a0 dns resolution failed: UNKNOWN:C-ares status is not ARES_SUCCESS qtype=A name=firestore.googleapis.com is_balancer=0: DNS query cancelled {created_time:"2024-04-08T14:38:20.114389-04:00", children:[UNKNOWN:C-ares status is not ARES_SUCCESS qtype=AAAA name=firestore.googleapis.com is_balancer=0: DNS query cancelled {created_time:"2024-04-08T14:38:20.114379-04:00"}]}
This is with firebase-admin 6.5.0 and python 3.12.2
Workaround
Call the python script with this environment variable:
GRPC_DNS_RESOLVER=native
works around the issue.
- Linguagem predominante
- Python
- Estrelas
- 1.2k
- Forks
- 362
- Merge médio
- 8h 7min
- PRs com merge (30d)
- 3
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o 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 firebase/firebase-admin-python
-
api: remoteconfig
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
firebase/firebase-admin-python#957 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
api: database type: feature request
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
firebase/firebase-admin-python#58 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
firebase/firebase-admin-python#978 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
[FR] Support VERIFY_AND_CHANGE_EMAIL in generate_email_action_link (parity with firebase-admin-node)Talvez livre de novo @lahirumaramba assumiu há 150 dias e não há nenhum pull request aberto. Abertaapi: auth
firebase/firebase-admin-python#949 · 2 comentários · 1 reação · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 43/100
firebase/firebase-admin-python#945 · 1 comentário · 1 reação ·
Mantenedores costumam responder em até 1 dia
Todas as issues de firebase/firebase-admin-python
Issues semelhantes
-
#bug
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 92/100
apache/superset#44923 · 1 comentário ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
lawndoc/stack-back#123 ·
-
Add: EntuneAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
AbdelStark/awesome-typesafe-jev#187 ·
Mantenedores costumam responder em até 1 dia
-
bug good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
repowise-dev/repowise#2966 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
Mantenedores costumam responder em até 2 dias