From: armando-migliaccio Date: Fri, 18 Apr 2014 19:32:26 +0000 (-0700) Subject: gw_port should be set as lazy='join' X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=90fd9fbeb2b2bdfe456db3e86f8bbe40832c2487;p=openstack-build%2Fneutron-build.git gw_port should be set as lazy='join' 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 (cherry picked from commit 966dbb5368d710e2652b18f5b9cb4295f58598da) --- diff --git a/neutron/db/l3_db.py b/neutron/db/l3_db.py index 6096b19d3..52a491f4e 100644 --- a/neutron/db/l3_db.py +++ b/neutron/db/l3_db.py @@ -51,7 +51,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):