Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン 初心者向け
#10,527 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@dpage がすでに取り組んでいます。

2026年10月12日 から。

  • #10528 @dpage による — オープン

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
79/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
aws, azure, flask, google-cloud, python

調査の方向性

web/pgadmin/utils/session.pyを読み、rds/__init__.py、azure/__init__.py、google/__init__.pyにあるAWS、Azure、Googleプロバイダーの更新を、#10499のStarfleetプロバイダーの変更と比較してください。ネストされたセッション更新がどのようにsave_sessionに届くかを追い、その後、各プロバイダーがセッションを変更済みとしてマークし、ディスクへの書き込みを強制することを確認してください。完了条件は、更新されたプロバイダーの状態が、複数のworkerにまたがる後続のウィザードリクエストで保持されることです。

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
Python
スター
3.9k
フォーク
908
平均マージ
1日 7時間
マージ済み PR(30日)
35

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

pgadmin-org/pgadmin4 のほかの issue

pgadmin-org/pgadmin4 の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。