MagicStack / MagicStack/asyncpg

Something is setting the result on a completed task?

Offen
#729 5 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Python
Sterne
8.1k
Forks
468
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

* **asyncpg version**: 0.22.0+ (at commit 075114c195e9eb4e81c8365d81540beefb46065c)
* **PostgreSQL version**: CockroachDB v20.2.3
* **Do you use a PostgreSQL SaaS? If so, which? Can you reproduce
the issue with a local PostgreSQL install?**: not a SaaS, we do our own deployments
* **Python version**: Python 3.9.1
* **Platform**: Linux
* **Do you use pgbouncer?**: no
* **Did you install asyncpg with pip?**: yes but from the git repo, to get the latest fixes
* **If you built asyncpg locally, which version of Cython did you use?**:
* **Can the issue be reproduced under both asyncio and
[uvloop](https://github.com/magicstack/uvloop)?**: for now I've seen this under uvloop

```Fatal error on transport TCPTransport
protocol:
transport:
Traceback (most recent call last):
File "uvloop/handles/stream.pyx", line 829, in uvloop.loop.__uv_stream_on_read_impl
File "/root/aurora-extract/src/asyncpg/asyncpg/connect_utils.py", line 516, in data_received
self.on_data.set_result(True)
asyncio.exceptions.InvalidStateError: invalid state```

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

Beginne bei asyncpg/connect_utils.py:516, wo TLSUpgradeProto.data_received self.on_data.set_result(True) aufruft, und verfolge, wann diese Aufgabe unter uvloop abgeschlossen wird. Reproduziere den gemeldeten InvalidStateError mit CockroachDB, sofern möglich; abgeschlossen bedeutet, dass das TLS-Upgrade nicht mehr versucht, ein Ergebnis für eine bereits abgeschlossene Aufgabe zu setzen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
postgresql, python
Bereich
backend, databases
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

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