0.22.0 - object of type 'asyncpg.pgproto.pgproto.WriteBuffer' has no len()
See original GitHub issue- asyncpg version: 0.22.0
- PostgreSQL version: 11
- Do you use a PostgreSQL SaaS? If so, which? Can you reproduce the issue with a local PostgreSQL install?:
- Python version: CPython 3.8.1
- Platform: Ubuntu 18.04
- Do you use pgbouncer?: no
- Did you install asyncpg with pip?: pipenv
- If you built asyncpg locally, which version of Cython did you use?: n/a
- Can the issue be reproduced under both asyncio and uvloop?: Running under uvloop
After having upgraded our underlying asyncpg version from 0.21.0 to 0.22.0 two days ago, every ~12 hours our http service has been running into an issue at which it can no longer connect to the database without restarting. The issue being reported is
StopIteration: null
File "asyncpg/protocol/coreproto.pyx", line 945, in asyncpg.protocol.protocol.CoreProtocol._bind_execute_many_more
buf = <WriteBuffer>next(self._execute_iter)
TypeError: object of type 'asyncpg.pgproto.pgproto.WriteBuffer' has no len()
File "asyncpg/protocol/protocol.pyx", line 909, in asyncpg.protocol.protocol.BaseProtocol._writelines
self.transport.writelines(buffers)
File "uvloop/sslproto.pyx", line 163, in uvloop.loop._SSLProtocolTransport.writelines
self._ssl_protocol._write_appdata(list_of_data, self.context.copy())
File "uvloop/sslproto.pyx", line 652, in uvloop.loop.SSLProtocol._write_appdata
self._write_buffer_size += len(data)
For context, we use tortoise-orm to interface with asyncpg.
Issue Analytics
- State:
- Created 3 years ago
- Reactions:12
- Comments:5 (2 by maintainers)
Top Results From Across the Web
A brand new website interface for an even better experience!
0.22.0 - object of type 'asyncpg.pgproto.pgproto.WriteBuffer' has no len()
Read more >API Reference — asyncpg Documentation
Returns a new Connection object. Parameters. dsn –. Connection arguments specified using as a single string in the libpq connection URI format: postgres://user ......
Read more >asyncpg · PyPI
asyncpg is a database interface library designed specifically for PostgreSQL and Python/asyncio. asyncpg is an efficient, clean implementation of PostgreSQL ...
Read more >tiangolo/fastapi - 'UUID' object has no attribute 'replace' - Gitter
the data = dict(obj) fails with e: 'UUID' object has no attribute 'replace' then ... https://magicstack.github.io/asyncpg/current/usage.html#type-conversion.
Read more >0.22.0 - object of type 'asyncpg.pgproto.pgproto.WriteBuffer' has no ...
0.22.0 - object of type 'asyncpg.pgproto.pgproto.WriteBuffer' has no len() - Python asyncpg. asyncpg version: 0.22.0; PostgreSQL version: 11 ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

@fantix
Do you know when the fix for this will be release? Is this a warning log or does it mean that sql commands are failing?
That’s indeed the issue I think. Though I’m not sure if we want to pass over the
WriterBufferdirectly to the transport - wrapping into amemoryviewprobably makes more sense.