From 89b674c1e56bccae2b55353fa93d42204ea11109 Mon Sep 17 00:00:00 2001 From: Brian Hudson Date: Wed, 24 Jan 2024 10:25:03 -0500 Subject: [PATCH 1/2] Minor perf improvement to queryEntities when limit=0 Updates queryEntities to not execute dbQuery at all when limit is 0 Signed-off-by: Brian Hudson --- .changeset/ninety-rules-sneeze.md | 5 +++++ .../catalog-backend/src/service/DefaultEntitiesCatalog.ts | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/ninety-rules-sneeze.md diff --git a/.changeset/ninety-rules-sneeze.md b/.changeset/ninety-rules-sneeze.md new file mode 100644 index 0000000000..9efc790861 --- /dev/null +++ b/.changeset/ninety-rules-sneeze.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend': patch +--- + +Minor performance improvement for queryEntities when the limit is 0. diff --git a/plugins/catalog-backend/src/service/DefaultEntitiesCatalog.ts b/plugins/catalog-backend/src/service/DefaultEntitiesCatalog.ts index 0245fe1d4e..81982d5617 100644 --- a/plugins/catalog-backend/src/service/DefaultEntitiesCatalog.ts +++ b/plugins/catalog-backend/src/service/DefaultEntitiesCatalog.ts @@ -451,7 +451,7 @@ export class DefaultEntitiesCatalog implements EntitiesCatalog { countQuery.count('search.entity_id', { as: 'count' }); const [rows, [{ count }]] = await Promise.all([ - dbQuery, + limit > 0 ? dbQuery : [], // for performance reasons we invoke the countQuery // only on the first request. // The result is then embedded into the cursor From ecc4f0eb8835b0564c32e9e4bb4390789175e24c Mon Sep 17 00:00:00 2001 From: Brian Hudson Date: Wed, 24 Jan 2024 10:34:00 -0500 Subject: [PATCH 2/2] Fix changeset Signed-off-by: Brian Hudson --- .changeset/ninety-rules-sneeze.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/ninety-rules-sneeze.md b/.changeset/ninety-rules-sneeze.md index 9efc790861..bea9d00f7e 100644 --- a/.changeset/ninety-rules-sneeze.md +++ b/.changeset/ninety-rules-sneeze.md @@ -2,4 +2,4 @@ '@backstage/plugin-catalog-backend': patch --- -Minor performance improvement for queryEntities when the limit is 0. +Minor performance improvement for `queryEntities` when the limit is 0.