neutron/neutron
Cedric Brandily bc4965080c Remove SELECT FOR UPDATE use in ML2 tunnel driver add_endpoint
SELECT FOR UPDATE expression, which is triggered with the use of the
SQLAlchemy Query object's with_lockmode('update') method, is
detrimental to performance and scalability of the database
performance code in Neutron due to the lock contention it produces.

SELECT FOR UPDATE can be entirely avoided in add_endpoint methods
with the use of single-shot SELECT and INSERT expressions and the
correction of VxlanEndpoint primary key: indeed previously it was not
possible to create multiple endpoints with the same ip, now the model
primary key constraint ensures it.

Change-Id: Id69fbc15c8f51b4b275cd742312e6ff6802d8c0f
Partial-Bug: #1330562
2014-08-13 16:50:13 +02:00
..
agent Fixes an issue with FIP re-association 2014-08-11 19:12:14 -07:00
api Merge "Return 403 instead of 404 on attr policy failures" 2014-08-07 22:01:41 +00:00
cmd Move ARP responder test to sanity command 2014-07-29 18:44:07 +03:00
common Merge "Make sure that gateway is in CIDR range by default" 2014-08-05 07:54:22 +00:00
db Remove SELECT FOR UPDATE use in ML2 tunnel driver add_endpoint 2014-08-13 16:50:13 +02:00
debug Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
extensions Fix to throw correct error code for bad attribute 2014-08-08 10:30:23 +05:30
hacking Add missing translation support 2014-05-19 12:16:56 +02:00
locale Imported Translations from Transifex 2014-08-06 06:04:23 +00:00
notifiers Fix spelling mistakes 2014-08-01 16:10:23 +00:00
openstack Fix spelling mistakes 2014-08-01 16:10:23 +00:00
plugins Remove SELECT FOR UPDATE use in ML2 tunnel driver add_endpoint 2014-08-13 16:50:13 +02:00
scheduler Fix DB Duplicate error when scheduling distributed routers 2014-08-01 06:51:45 -07:00
server Configure agents using neutron.common.config.init (formerly .parse) 2014-06-17 21:56:24 +02:00
services Merge "Exit Firewall Agent if config is invalid" 2014-08-05 21:54:12 +00:00
tests Remove SELECT FOR UPDATE use in ML2 tunnel driver add_endpoint 2014-08-13 16:50:13 +02:00
__init__.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
auth.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
context.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
hooks.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
manager.py Moved rpc_compat.py code back into rpc.py 2014-06-24 10:35:39 +02:00
neutron_plugin_base_v2.py Renamed start_rpc_listener -> start_rpc_listeners 2014-06-19 12:58:01 +02:00
policy.py Allow to import _LC, _LE, _LI and _LW functions directly 2014-07-17 14:56:19 +00:00
quota.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
service.py Moved rpc_compat.py code back into rpc.py 2014-06-24 10:35:39 +02:00
version.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
wsgi.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00