Switch from MySQLdb to MySQL Connector
Current MySQL client library we use (MySQLdb) plays bad with eventlet and may result in db deadlocks [1]. It also blocks execution of other green threads while we're deep in the library code [2]. To avoid those issues, we need to switch to a pure python library with better eventlet support. MySQL Connector is an official mysql python client library and has the needed qualities.
[1]: https:/
[2]: http://
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Ihar Hrachyshka
- Direction:
- Needs approval
- Assignee:
- Ihar Hrachyshka
- Definition:
- Obsolete
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
- Ihar Hrachyshka
Related branches
Related bugs
Sprints
Whiteboard
Community discussion showed that if we consider the switch, we better do it globally for all the projects to avoid additional burden on deployers and developers. So I'm moving the spec to oslo: https:/
Gerrit topic: https:/
Addressed by: https:/
Switch from MySQLdb to MySQL Connector
Addressed by: https:/
Use oslo.db create_engine instead of SQLAlchemy
Gerrit topic: https:/