From a962ce0551ca437bde93b1f69a881d8fea9f045b Mon Sep 17 00:00:00 2001 From: Brian Fletcher Date: Wed, 16 Nov 2022 14:03:56 +0000 Subject: [PATCH 1/2] wait for initialize to complete before finalize Signed-off-by: Brian Fletcher --- .changeset/gorgeous-hairs-applaud.md | 5 +++++ .../src/indexing/BatchSearchEngineIndexer.ts | 5 +++++ 2 files changed, 10 insertions(+) create mode 100644 .changeset/gorgeous-hairs-applaud.md diff --git a/.changeset/gorgeous-hairs-applaud.md b/.changeset/gorgeous-hairs-applaud.md new file mode 100644 index 0000000000..7793c6591e --- /dev/null +++ b/.changeset/gorgeous-hairs-applaud.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-search-backend-node': patch +--- + +Wait for indexer initialization before finalizing indexing. diff --git a/plugins/search-backend-node/src/indexing/BatchSearchEngineIndexer.ts b/plugins/search-backend-node/src/indexing/BatchSearchEngineIndexer.ts index 24b90c2a59..0824f0ab48 100644 --- a/plugins/search-backend-node/src/indexing/BatchSearchEngineIndexer.ts +++ b/plugins/search-backend-node/src/indexing/BatchSearchEngineIndexer.ts @@ -110,6 +110,11 @@ export abstract class BatchSearchEngineIndexer extends Writable { * @internal */ async _final(done: (error?: Error | null) => void) { + const maybeError = await this.initialized; + if (maybeError) { + done(maybeError); + return; + } try { // Index any remaining documents. if (this.currentBatch.length) { From 1bbe66c27b04f09a6832c4d997e1ab0f9b4fea5b Mon Sep 17 00:00:00 2001 From: Brian Fletcher Date: Thu, 17 Nov 2022 11:08:10 +0000 Subject: [PATCH 2/2] move wait into try block Signed-off-by: Brian Fletcher --- .../src/indexing/BatchSearchEngineIndexer.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/plugins/search-backend-node/src/indexing/BatchSearchEngineIndexer.ts b/plugins/search-backend-node/src/indexing/BatchSearchEngineIndexer.ts index 0824f0ab48..043e2c1953 100644 --- a/plugins/search-backend-node/src/indexing/BatchSearchEngineIndexer.ts +++ b/plugins/search-backend-node/src/indexing/BatchSearchEngineIndexer.ts @@ -110,12 +110,13 @@ export abstract class BatchSearchEngineIndexer extends Writable { * @internal */ async _final(done: (error?: Error | null) => void) { - const maybeError = await this.initialized; - if (maybeError) { - done(maybeError); - return; - } try { + const maybeError = await this.initialized; + if (maybeError) { + done(maybeError); + return; + } + // Index any remaining documents. if (this.currentBatch.length) { await this.index(this.currentBatch);