MagicStack / MagicStack/asyncpg
Test failure in test_executemany_server_failure_during_writes
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.29.0
- PostgreSQL version: 15.4
- Do you use a PostgreSQL SaaS? If so, which? Can you reproduce
the issue with a local PostgreSQL install?: N/A, building thepython-asyncpgpackage on Fedora Linux infrastructure - Python version: 3.12.0
- Platform: Fedora Linux Rawhide,
s390xarchitecture (only!) - Do you use pgbouncer?: No
- Did you install asyncpg with pip?: No, I am the maintainer of the distribution package.
- If you built asyncpg locally, which version of Cython did you use?: 0.29.35
- Can the issue be reproduced under both asyncio and
uvloop?:No, onlyyesasyncio.
This is new in 0.29.0. I don’t have any idea why it is happening.
I can’t reproduce this with I have now seen this on PYTHONASYNCIODEBUG=1, nor can I reproduce it with USE_UVLOOP=1.x86_64 with asyncio and PYTHONASYNCIODEBUG=1.
I don’t have interactive access to an I am happy to run experiments or test proposed fixes by submitting package test builds on Fedora infrastructure. For the time being, I plan to simply skip this test s390x machine, buton .s390x
=================================== FAILURES ===================================
________ TestExecuteMany.test_executemany_server_failure_during_writes _________
Traceback (most recent call last):
File "/usr/lib64/python3.12/unittest/case.py", line 58, in testPartExecutor
yield
File "/usr/lib64/python3.12/unittest/case.py", line 634, in run
self._callTestMethod(testMethod)
File "/usr/lib64/python3.12/unittest/case.py", line 589, in _callTestMethod
if method() is not None:
^^^^^^^^
File "/builddir/build/BUILDROOT/python-asyncpg-0.29.0-1.fc40.s390x/usr/lib64/python3.12/site-packages/asyncpg/_testbase/__init__.py", line 92, in wrapper
self.loop.run_until_complete(coro)
File "/usr/lib64/python3.12/asyncio/base_events.py", line 664, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/builddir/build/BUILD/asyncpg-0.29.0/tests/test_execute.py", line 215, in test_executemany_server_failure_during_writes
self.assertLess(pos, 128, 'should stop early')
File "/usr/lib64/python3.12/unittest/case.py", line 1257, in assertLess
self.fail(self._formatMessage(msg, standardMsg))
File "/usr/lib64/python3.12/unittest/case.py", line 715, in fail
raise self.failureException(msg)
AssertionError: 128 not less than 128 : should stop early
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Empieza con tests/test_execute.py, especialmente con TestExecuteMany.test_executemany_server_failure_during_writes alrededor de la aserción que falla en la línea 215. Reproduce la prueba con Python 3.12, PostgreSQL 15.4 y asyncio, y compara la posición observada de 128 con la detención temprana esperada de la prueba. Se considera terminado cuando se entiende el fallo y la prueba pasa de forma consistente sin un skip específico de plataforma injustificado.
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
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100