Storm Django layer does not correctly capture disconnection errors when using PostgreSQL backend
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Storm |
Fix Released
|
Critical
|
James Henstridge |
Bug Description
The storm.django integration package allows code using the Django ORM to reuse the same database connection that Storm is using. It also tries to make sure those accesses integrate with Storm's database disconnection logic, but this is failing with the PostgreSQL backend.
Storm provides a wrapped cursor that passes all accesses through the _check_disconnect() helper to track problems:
def _cursor(self, *args):
cursor = super(StormData
return StormCursorWrap
When used with PostgreSQL, this method chains up to django.
The is_disconnectio
Some how, we need this is_disconnectio
Related branches
- Stuart Bishop (community): Approve
- Martin Albisetti (community): Approve
- Diff: 277 lines (+116/-22)
Changed in storm: | |
assignee: | nobody → James Henstridge (jamesh) |
importance: | Undecided → Critical |
milestone: | none → 0.19 |
status: | New → In Progress |
Changed in storm: | |
status: | Fix Committed → Fix Released |
Actually, it looks like all the Django backend modules provide a similar cursor wrapper. So this probably affects more than just the PostgreSQL backend.