MagicStack / MagicStack/asyncpg

AtributeError: 'NoneType' object has no attribute 'resume_reading'

Aperta
#726 4 commenti 1 reazione 1 assegnatario Vedi su GitHub

@fantix ci sta già lavorando.

Dal 26/3/2021.

Lingua principale
Python
Stelle
8.1k
Fork
469
Merge medio
18m
PR unite (30g)
4

Descrizione

  • asyncpg version: 0.22.0
  • PostgreSQL version: 12
  • Do you use a PostgreSQL SaaS? If so, which? Can you reproduce
    the issue with a local PostgreSQL install?
    : Yes
  • Python version: 3.8
  • Platform: Linux
  • Do you use pgbouncer?: No
  • Did you install asyncpg with pip?: Yes
  • If you built asyncpg locally, which version of Cython did you use?: 3.8?
  • Can the issue be reproduced under both asyncio and
    uvloop?
    : Yes

I saw this issue AtributeError: 'NoneType' object has no attribute 'resume_reading'.
Below is the sample code we use. The version of aiohttp is 3.7.4.post0

from aiohttp.web_response import StreamResponse 
from aiohttp.web_request import Request 
import asyncpg.pool

async def test_get_response(req: Request)
	pool = await asyncpg.create_pool(database='xxx', user='xxx', ....)

	sql = '''
	xxx
	'''
	async with pool.acquire() as db_conn:
	        response = StreamResponse()
	        response.headers.add('Content-Type', 'text/csv; charset=utf-8')
	        await response.prepare(req)
	        await db_conn.copy_from_query(
	            sql,
	            header=True,
	            format='csv',
	            output=response.write
	        )
	        return response

Below is the exception.

File "/root/.local/share/virtualenvs/xxxx/lib/python3.8/site-packages/asyncpg/connection.py", line 784, in copy_from_query
return await self._copy_out(copy_stmt, output, timeout)
File "/root/.local/share/virtualenvs/xxxx/lib/python3.8/site-packages/asyncpg/connection.py", line 989, in _copy_out
return await self._protocol.copy_out(copy_stmt, writer, timeout)
......
File "asyncpg/protocol/protocol.pyx", line 359, in copy_out
File "asyncpg/protocol/protocol.pyx", line 132, in asyncpg.protocol.protocol.BaseProtocol.resume_reading
File "/usr/local/lib/python3.8/asyncio/sslproto.py", line 344, in resume_reading
self._ssl_protocol._transport.resume_reading()
AttributeError: 'NoneType' object has no attribute 'resume_reading'

We don’t have a good repro - someone who knows the code might have a good idea about why it happens?

thanks

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.