From 90fd9fbeb2b2bdfe456db3e86f8bbe40832c2487 Mon Sep 17 00:00:00 2001 From: armando-migliaccio Date: Fri, 18 Apr 2014 12:32:26 -0700 Subject: [PATCH] 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) --- neutron/db/l3_db.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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): -- 2.45.2