![]() When updating an ovsdb set-type column, the existing code does the following: 1. Read the existing column value 2. Call verify() to cause a write failure if something else modifies the column before we commit 3. Append the value to our local copy of the column 4. Assign the local value to the object.column to trigger __setattr__ to write the value to the database If verify() fails, which it *very* often does in a test environment or a busy system, ovsdb-server will respond with a TRY_AGAIN response which will cause the whole process to start over. In the 2.6 cycle, Row.addvalue()/delvalue() methods were added which use OVDB's native 'mutate' methods to handle adding/deleting from a set/map-type column. Using these means calling verify() is no longer required and things will proceed *much* more efficiently. Bug #1627106 where we get frequent TimeoutExceptions appears to be related. Eliminating the frequent TRY_AGAIN responses, in my local testing, also eliminates the TimeoutExceptions. This doesn't mean that the underlying issue is resolved, but it may be avoided. Related-Bug: #1627106 Change-Id: I26c7731f5dbd3bd2955dbfa18a7c41517da63e6e |
||
---|---|---|
api-ref | ||
bin | ||
devstack | ||
doc | ||
etc | ||
neutron | ||
rally-jobs | ||
releasenotes | ||
tools | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
.pylintrc | ||
.testr.conf | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
README.rst | ||
TESTING.rst | ||
babel.cfg | ||
bindep.txt | ||
requirements.txt | ||
run_tests.sh | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
README.rst
Team and repository tags
Welcome!
To learn more about neutron:
- Documentation: http://docs.openstack.org
- Features: http://specs.openstack.org/openstack/neutron-specs
- Defects: http://launchpad.net/neutron
Get in touch via email. Use [Neutron] in your subject.
To learn how to contribute:
CONTRIBUTING.rst