resourceclosederror this result object does not return rows. it has been closed automatically

Bug #1783301 reported by TommyLike
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
oslo.db
Won't Fix
Undecided
Unassigned

Bug Description

Installed oslo.db version: 4.6.1

Environment: OpenStack Cinder(Mitaka) which deployed in kubernetes within 3 API instances.

Related config in API instance.

```
osapi-volume-workers = 1

[database]
max_pool_size = 10
```

When try to create volume within 50 concurrency, cinder will failed to perform db operations on quota_usages, these below are the error stack screenshot [1] and related db codes in cinder [2].

[1]: see attachment
[2]: https://github.com/openstack/cinder/blob/0137bc6b0c0e87504253918d5a4572c6ac14e31c/cinder/db/sqlalchemy/api.py#L823

Revision history for this message
TommyLike (hu-husheng) wrote :
TommyLike (hu-husheng)
description: updated
description: updated
Revision history for this message
Mike Bayer (zzzeek) wrote :

the core of this error is that cursor.description is None when it's not supposed to be. most of the issues w/ cursor.description should have been fixed by applying the greenletexit catch I illustrate in https://gist.github.com/zzzeek/b762218a5f855ec7d1c3a998fe996893 which was fixed in SQLAlchemy in https://bitbucket.org/zzzeek/sqlalchemy/issues/3803, which is in the 1.1 series. if you aren't on SQLA 1.1 then that might be contributing to this. but the issue only occurs if you have greenlets timing out, which indicates you are already going past what cinder can handle on the given hardware.

Revision history for this message
Ben Nemec (bnemec) wrote :

So it sounds like the solution to this is to move to SQLA 1.1 and/or reduce the concurrency to avoid overloading cinder. It doesn't sound like there's anything we can do in oslo.db.

Changed in oslo.db:
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.