firestore times out when using default DNS resolver
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 28/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- python
- Ambito
- databases, networking
Direzione di ricerca
Inizia eseguendo l’esempio Firestore asyncio dell’issue con firebase-admin 6.5.0 e Python 3.12.2, quindi ripetilo con GRPC_DNS_RESOLVER=native. Analizza il percorso del resolver predefinito implicato dai log di c-ares; il lavoro è concluso quando l’esempio non attende più 60 secondi e non fallisce più nella risoluzione DNS senza richiedere il workaround.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Python
- Stelle
- 1.2k
- Fork
- 359
- Merge medio
- 5g 6m
- PR unite (30g)
- 2
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di firebase/firebase-admin-python
-
api: remoteconfig
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
firebase/firebase-admin-python#957 · 1 commento ·
-
api: database type: feature request
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
firebase/firebase-admin-python#978 · 1 commento ·
-
[FR] Support VERIFY_AND_CHANGE_EMAIL in generate_email_action_link (parity with firebase-admin-node) Apertaapi: auth
firebase/firebase-admin-python#949 · 2 commenti · 1 reazione · 1 assegnatario ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 43/100
firebase/firebase-admin-python#945 · 1 commento · 1 reazione ·
Tutte le issue di firebase/firebase-admin-python
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
learningequality/ricecooker#747 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
BSData/horus-heresy-3rd-edition#3171 ·
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
run-llama/llama_index#23199 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
KhronosGroup/glTF-Blender-IO#2769 ·