MagicStack / MagicStack/asyncpg
connection was closed in the middle of operation
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 8.1k
- Forks
- 468
- PR merge metrics
- No merged PRs in 30d
Description
* **asyncpg version**: 0.15.0
* **PostgreSQL version**: 10.3
* **local PostgreSQL**:
* **Python version**: 3.6.5
* **Platform**: Ubuntu 14.04.5
* **Do you use pgbouncer?**: no
* **Did you install asyncpg with pip?**: yes
I use `asyncpg` with `sanic`. Before server start, a connection pool is made and attached to the app. In every route, the handler acquire a connection if pg access is needed. The problem is, if the pool is silent for too long, new acquired connection is not usable.
```
asyncpg.exceptions.ConnectionDoesNotExistError: connection was closed in the middle of operation
```
After one-time exception. The next acquisition is normal again. No exception with queries. Which is really weird for me.
I've tried to twist `max_inactive_connection_lifetime` parameter, got no luck. Actually I don't quite understand this parameter. Why would I need this parameter?
Any help is welcomed.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source file or test is named. Start by reproducing the idle-pool scenario with asyncpg 0.15.0, PostgreSQL 10.3, Python 3.6.5, and Sanic, then inspect pool acquisition and the max_inactive_connection_lifetime behavior. Done means the cause of the first failed acquisition is identified and the behavior is verified after the relevant change.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- postgresql, python
- Domain
- database
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100