Merge "Improve share list speed using lazy='subquery'"

This commit is contained in:
Zuul 2020-01-29 17:17:46 +00:00 committed by Gerrit Code Review
commit 95900fc03b
2 changed files with 10 additions and 3 deletions

View File

@ -318,7 +318,7 @@ class Share(BASE, ManilaBase):
task_state = Column(String(255))
instances = orm.relationship(
"ShareInstance",
lazy='immediate',
lazy='subquery',
primaryjoin=(
'and_('
'Share.id == ShareInstance.share_id, '
@ -388,7 +388,7 @@ class ShareInstance(BASE, ManilaBase):
nullable=True)
_availability_zone = orm.relationship(
"AvailabilityZone",
lazy='immediate',
lazy='subquery',
foreign_keys=availability_zone_id,
primaryjoin=(
'and_('
@ -415,7 +415,7 @@ class ShareInstance(BASE, ManilaBase):
nullable=True)
share_type = orm.relationship(
"ShareTypes",
lazy='immediate',
lazy='subquery',
foreign_keys=share_type_id,
primaryjoin='and_('
'ShareInstance.share_type_id == ShareTypes.id, '

View File

@ -0,0 +1,7 @@
---
fixes:
- |
Improved share list speed using lazy='subquery'. The sqlalchemy models of
Share and Share Instance relationships previously had lazy='immediate'.
This resulted in at least three extra queries when we queried for all share
details.