MagicStack / MagicStack/asyncpg
Disconnection from postgres-compatible google cloud AlloyDB instance hangs
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
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Ö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