Comment 1 for bug 1361378

Revision history for this message
Roman Podoliaka (rpodolyaka) wrote :

oslo.db issues 'SELECT 1' unconditionally right after a new transaction begins:

https://github.com/openstack/oslo.db/blob/master/oslo/db/sqlalchemy/session.py#L382
https://github.com/openstack/oslo.db/blob/master/oslo/db/sqlalchemy/session.py#L314-L331

which allows to detect disconnects early and reconnect to RDMBs servers transparently to the application code.

At the same time, if an RDBMs server goes away in the middle of transaction, it's left up to the consuming application to retry the whole transaction again. oslo.db provides a helper decorator for this: https://github.com/openstack/oslo.db/blob/master/oslo/db/api.py#L62-L93