MagicStack / MagicStack/asyncpg

connection error

オープン
#513 コメント 3 件 リアクション 3 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
Python
スター
8.1k
フォーク
468
PR マージ指標
30日以内にマージされた PR はありません

説明

It is bit hard to figure out, which exceptions I should catch if I want to recover my application from connection errors.

So far

  • OSError - when database is down
  • CannotConnectNowError when PostgreSQL is starting
  • ConnectionDoesNotExistError when connection is removed from connection pool
  • InterfaceError when message contains one of
    • connection has been released back to the pool
    • the underlying connection is closed

It seems I should add one PostgresConnectionError deriving classes as well? Anything else?

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

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

調査の方向性

まず、既存の例外定義と、issue に記載されている接続エラーの経路を確認します。OSError、CannotConnectNowError、ConnectionDoesNotExistError、InterfaceError がどのように送出されるかを比較し、そのうえで、統一された PostgresConnectionError 階層によって一覧にあるリカバリーケースをカバーできるかどうかを判断します。完了条件は、望ましい例外 API と、その互換性への影響について合意できていることです。

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

評価

技術スタック
postgresql, python
領域
backend-api-design, databases
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

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

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