Datastore emulator causes firebase admin to hang
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- python
- Domínio
- authentication, databases
Direção de pesquisa
Comece executando os comandos do emulador de datastore do relatório e o script Python fornecido, concentrando-se na transição de datastore_client.context() para auth.get_user_by_email(). Compare o comportamento com as três linhas de contexto do datastore removidas. Está concluído quando a consulta do Firebase Auth retorna normalmente enquanto o emulador de datastore está em execução e o processo continua podendo ser interrompido.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
[REQUIRED] Step 2: Describe your environment
- Operating System version: Mac 14.5
- Firebase Product: firebase-admin==6.2.0 and firebase-admin==6.5.0
- Python version: 3.11.4
- Pip version: 24.0
[REQUIRED] Step 3: Describe the problem
Steps to reproduce:
This problem started around June 1. Before, I have been doing this for several years without any issues.
The problem is that auth.get_user_by_email() freezes and it is caused by some interaction with running the cloud datastore emulator locally. This happens with either the older emulator (gcloud beta emulators datastore start) or the newer one (gcloud emulators firestore start ). I have tried downgrading gcloud and two versions of firebase-admin listed above.
Run the script below. At auth.get_user_by_email(), the script hangs indefinitely with no output. You can't even ctrl-c to stop the script. You need to kill -9 in a separate terminal window.
If you comment out the three lines starting with with datastore_client.context():, then auth.get_user_by_email() works.
Since the code just freezes, I am at a loss as to how to debug.
Relevant Code:
import os
from google.cloud import ndb
import firebase_admin
from firebase_admin import auth, initialize_app
print('starting')
class User(ndb.Model):
email = ndb.StringProperty(required=True)
os.environ['DATASTORE_DATASET'] = 'my-project'
os.environ['DATASTORE_EMULATOR_HOST'] = 'localhost:8081'
os.environ['DATASTORE_EMULATOR_HOST_PATH'] = 'localhost:8081/datastore'
os.environ['DATASTORE_HOST'] = 'http://localhost:8081'
os.environ['DATASTORE_PROJECT_ID']= 'my-project'
datastore_client = ndb.Client('my-project')
if not firebase_admin._apps:
initialize_app()
email = 'me@example.com'
with datastore_client.context():
user = User.get_by_id(email)
print(user)
# This hangs and you can't even ctrl-c to stop.
# Works if datastore client stuff is commented out.
fb_user = auth.get_user_by_email(email)
print(fb_user)
- Linguagem predominante
- Python
- Estrelas
- 1.2k
- Forks
- 359
- Merge médio
- 5d 6min
- PRs com merge (30d)
- 2
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 ·
-
api: database type: feature request
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
firebase/firebase-admin-python#978 · 1 comentário ·
-
[FR] Support VERIFY_AND_CHANGE_EMAIL in generate_email_action_link (parity with firebase-admin-node) Abertaapi: auth
firebase/firebase-admin-python#949 · 2 comentários · 1 reação · 1 responsável ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 43/100
firebase/firebase-admin-python#945 · 1 comentário · 1 reação ·
Todas as issues de firebase/firebase-admin-python
Issues semelhantes
-
triage/confirmed
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
agentscope-ai/agentscope#2775 ·
-
comp/desktop P3 type/bug
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 92/100
NousResearch/hermes-agent#118866 ·
-
bug
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
apache/cloudstack#14222 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100