Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Cloud wizard credentials for AWS, Azure and Google are not written through to the session store

Cerrado Apto para principiantes
#10,527 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@dpage ya está trabajando en esto.

Desde el 12/10/2026.

  • #10528 de @dpage — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
79/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
aws, azure, flask, google-cloud, python

Línea de trabajo

Lee web/pgadmin/utils/session.py y compara las actualizaciones de los proveedores AWS, Azure y Google en rds/__init__.py, azure/__init__.py y google/__init__.py con el cambio del proveedor Starfleet en #10499. Sigue cómo las actualizaciones anidadas de sesión llegan a save_session y, después, comprueba que cada proveedor marque la sesión como modificada y fuerce una escritura en disco. El trabajo estará terminado cuando el estado actualizado de los proveedores se conserve para las siguientes solicitudes del asistente entre distintos workers.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

The AWS, Azure and Google steps of the cloud deployment wizard store their verified credentials or authentication state in the Flask session, and the next wizard request (fetching regions, instance types and so on) expects to find it there. Under a deployment with more than one worker process, that request can fail as unauthenticated, because the session is never written to disk where another worker could read it. There are two causes:

  • FileBackedSessionManager.put (web/pgadmin/utils/session.py) skips the disk write if the session was last written within PGADMIN_SESSION_DISK_WRITE_DELAY (10 seconds by default) unless session.force_write is set, and none of the three providers set it.
  • The providers mostly mutate a nested dictionary, e.g. session['aws']['secret'] = ... in rds/__init__.py, session['azure']['state']/['auth_type']/['azure_tenant_id'] in azure/__init__.py, and session['google']['client_config']/['state'] in google/__init__.py. ManagedSession is a CallbackDict, which only notices top-level assignments, so when the provider's key already exists the session is not even marked modified and save_session does not save it at all. The change survives only in the per-worker CachingSessionManager cache.

The configurations pgAdmin ships and documents all run a single worker, which is why this has gone unnoticed; it affects people who run more than one process, and also loses the state if the server restarts within the write-delay window.

The fix is to set session.force_write = True and session.modified = True after updating the provider's session state, as the pgEdge Starfleet provider does in #10499.

Lenguaje dominante
Python
Estrellas
3.9k
Forks
908
Merge medio
1 d 6 h
PR fusionados (30 d)
38

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de pgadmin-org/pgadmin4

Todos los issues de pgadmin-org/pgadmin4

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.