ebbf23d6490159f0c8f4f35a08fb4b80371cd080
It's not safe for a database TCP connection to be shared to a child process, as this is a file descriptor which will maintain its state on both sides. Applications such as Cinder which spin up multiprocessing subprocesses at startup time are subject to race conditions as a result. Instead of requiring that engines be explicitly prepared within a child process, we can detect and accommodate this situation in the connection pool itself, by tracking the originating pid of a connection, and if it changes on checkout, by invalidating. Change-Id: If116f7b7140b3eba064d8147e5f637a05beb1cd8
oslo.db
Database connection library for OpenStack
- Free software: Apache license
- Documentation: http://docs.openstack.org/developer/oslo.db
- Source: http://git.openstack.org/cgit/openstack/oslo.db
- Bugs: http://bugs.launchpad.net/oslo.db
Description