MagicStack / MagicStack/asyncpg

Disconnection from postgres-compatible google cloud AlloyDB instance hangs

Offen
#962 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Python
Sterne
8.1k
Forks
468
Ø Merge
18 Min.
Gemergte PRs (30 T.)
4

Beschreibung

  • asyncpg version: 0.26.0
  • PostgreSQL version: Google AlloyDB, postgres 14.4 compatible
  • Do you use a PostgreSQL SaaS? If so, which? Can you reproduce
    the issue with a local PostgreSQL install?
    : I cannot reproduce the issue on a local postgres, no.
  • Python version: 3.10
  • Platform: Macos
  • Do you use pgbouncer?: No
  • Did you install asyncpg with pip?: Yes
  • If you built asyncpg locally, which version of Cython did you use?: NA
  • Can the issue be reproduced under both asyncio and
    uvloop?
    : I have not tried to reproduce under uvloop

I am connecting to an AlloyDB instance on Google Cloud (currently, these are available for free testing). I can connect and queries run as expected. However, connection.disconnect() hangs. I cannot reproduce this behavior locally; disconnection happens as expected. Synchronous database work with psycopg2, for example, works as expected.

This code reproduces the behavior I am seeing (running through the alloydb-auth-proxy as is required):

import asyncpg
conn = await asyncpg.connect(ALLOYDB_URI)
conn.disconnect() # hangs

I'll put in a ticket with Google as well if nothing obvious turns up here.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie beim Aufruf von connection.disconnect() in der bereitgestellten AlloyDB-auth-proxy-Reproduktion und führen Sie sie gegen das gemeldete Google Cloud AlloyDB-Setup aus. Vergleichen Sie das Verhalten mit einer lokalen PostgreSQL-Installation und dem bestehenden psycopg2-Verhalten; abgeschlossen ist die Aufgabe, wenn die Ursache des Hängers identifiziert ist und asyncpg für dieses Setup sauber die Verbindung trennt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
gcp, postgresql, python
Bereich
cloud, databases
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.