Use a threadpool for db access
Registered by
Vish Ishaya
Any db query blocks all greenthreads in each worker. This is because we are using a c mysql library which is not monkeypatched by eventlet. The solution to this is to use a threadpool. Unfortunately our last attempt to switch sqlalchemy over to using a threadpool lead to some issues. We need to reinvestigate and fix or workaround the sqlalchemy problems.
Blueprint information
- Status:
- Complete
- Approver:
- Vish Ishaya
- Priority:
- Low
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- Matt Stephenson
- Definition:
- Obsolete
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
- Russell Bryant
Related branches
Related bugs
Sprints
Whiteboard
This was implemented as: https:/
previous bug: https:/
Recent retry showed the following traceback: http://
I suspect a weird interaction with with_lockmode that causes a query to not return rows during a lock and the exception bubbles up when it isn't supposed to.
(?)