]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
gw_port should be set as lazy='join'
authorarmando-migliaccio <armamig@gmail.com>
Fri, 18 Apr 2014 19:32:26 +0000 (12:32 -0700)
committerarmando-migliaccio <armamig@gmail.com>
Fri, 18 Apr 2014 19:34:13 +0000 (12:34 -0700)
This forces the object to be ready ahead of accessing time.
The change in loading behavior is also beneficial while listing
routers, as reduces the amount of queries being issued. Tests
show a performance gain of 15-30% for router-list times.

As Mr. Aaron Rosen is used to saying: Woot woot!!

Closes-bug: #1309144

Change-Id: Ibae261b91de26ca7c50e3f6c80e9be2a799785a3

neutron/db/l3_db.py

index 947bba0b55f65d21112df661f20d3ded4a790a07..f56490619b302a913969f35fa48fce76cfb98f4d 100644 (file)
@@ -53,7 +53,7 @@ class Router(model_base.BASEV2, models_v2.HasId, models_v2.HasTenant):
     status = sa.Column(sa.String(16))
     admin_state_up = sa.Column(sa.Boolean)
     gw_port_id = sa.Column(sa.String(36), sa.ForeignKey('ports.id'))
-    gw_port = orm.relationship(models_v2.Port)
+    gw_port = orm.relationship(models_v2.Port, lazy='joined')
 
 
 class FloatingIP(model_base.BASEV2, models_v2.HasId, models_v2.HasTenant):