e5ded80fe5
If the DB connection drops after Connection.run() calls idl.run()
but before Transaction.do_commit(), then it is possible for
idl.commit() to return TRY_AGAIN due to the failure of session.send().
This prevents commit_block() from running idl.run() which would
actually trigger the DB reconnect, causing each successive call to
commit_block() to fail in the same way until we stop trying again
due to timeout and Connection.run() calls idl.run() again.
For now, we can just ensure that idl.run() is called when we get a
TRY_AGAIN. It might be worth it to refactor this a bit to not even
use commit_block().
Change-Id: I77402bde3fc4d45c770b9f48882870cfc91d719d
Closes-Bug: #1741889
(cherry picked from commit
|
||
---|---|---|
doc/source | ||
ovsdbapp | ||
releasenotes | ||
tools | ||
.gitignore | ||
.gitreview | ||
.testr.conf | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
MANIFEST.in | ||
README.rst | ||
babel.cfg | ||
bindep.txt | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
README.rst
ovsdbapp
A library for creating OVSDB applications
The ovdsbapp library is useful for creating applications that communicate via Open_vSwitch's OVSDB protocol (https://tools.ietf.org/html/rfc7047). It wraps the Python 'ovs' and adds an event loop and friendly transactions.
- Free software: Apache license
- Documentation: http://docs.openstack.org/developer/ovsdbapp
- Source: http://git.openstack.org/cgit/openstack/ovsdbapp
- Bugs: http://bugs.launchpad.net/ovsdbapp
Features
- An thread-based event loop for using ovs.db.Idl
- Transaction support
- Native OVSDB communication