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 966dbb5368)
This commit is contained in:
armando-migliaccio 2014-04-18 12:32:26 -07:00
parent 6a87b2fcbc
commit 829a9ea99f
1 changed files with 1 additions and 1 deletions

View File

@ -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):