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=966dbb5368d710e2652b18f5b9cb4295f58598da;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 --- diff --git a/neutron/db/l3_db.py b/neutron/db/l3_db.py index 947bba0b5..f56490619 100644 --- a/neutron/db/l3_db.py +++ b/neutron/db/l3_db.py @@ -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):