From 4f5c023279a0f9d0db8005848c8b356749ff4c8a Mon Sep 17 00:00:00 2001 From: Miro Tomaska Date: Fri, 7 Jun 2024 19:31:43 +0000 Subject: [PATCH] Revert "Use HasStandardAttributes as parent class for Tags DB model" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit b92fc1ad6c87c02537d790e63dd9c8a391682ae0. Reason for revert: The original change was made as a “cheap win” to optimize the number of queries the neutron server makes during testing. This did improve the number of queries made but introduced regression in real world deployments where some customers(through automation) would define hundreds of tags per port across a large deployment. I am proposing to revert this change in favor of the old “subquery” relation in order to fix this regression. In addition, I filed the Related-Bug #2069061 to investigate using `selectin` as the more appropriate long term solution. Change-Id: I437ab71f01483bb8adea96757a6d7dd6253df182 Closes-bug: #2068761 Related-Bug: #2069061 --- neutron/db/models/tag.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neutron/db/models/tag.py b/neutron/db/models/tag.py index 14e680fccc7..55195340d03 100644 --- a/neutron/db/models/tag.py +++ b/neutron/db/models/tag.py @@ -26,6 +26,6 @@ class Tag(model_base.BASEV2): tag = sa.Column(sa.String(255), nullable=False, primary_key=True) standard_attr = orm.relationship( 'StandardAttribute', load_on_pending=True, - backref=orm.backref('tags', lazy='joined', viewonly=True), + backref=orm.backref('tags', lazy='subquery', viewonly=True), sync_backref=False) revises_on_change = ('standard_attr', )