From 966dbb5368d710e2652b18f5b9cb4295f58598da 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 --- 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 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): -- 2.45.2