MagicStack / MagicStack/asyncpg

Something is setting the result on a completed task?

Abierto
#729 5 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Python
Estrellas
8.1k
Forks
468
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

* **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```

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Empieza en asyncpg/connect_utils.py:516, donde TLSUpgradeProto.data_received llama a self.on_data.set_result(True), y sigue cuándo se completa esa tarea bajo uvloop. Reproduce el InvalidStateError notificado con CockroachDB si es posible; se considera terminado cuando la actualización de TLS ya no intenta establecer un resultado en una tarea ya completada.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
postgresql, python
Área
backend, databases
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
48/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.