From ccbd0f3731906d6890e91ab83273f474d51c0512 Mon Sep 17 00:00:00 2001 From: Ben Brown Date: Mon, 26 Apr 2021 12:05:43 -0500 Subject: [PATCH] Catch common QNA maker error about limits --- Composer/packages/server/src/models/bot/builder.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Composer/packages/server/src/models/bot/builder.ts b/Composer/packages/server/src/models/bot/builder.ts index b9d0ecf316..5e54120564 100644 --- a/Composer/packages/server/src/models/bot/builder.ts +++ b/Composer/packages/server/src/models/bot/builder.ts @@ -121,7 +121,16 @@ export class Builder { await this.runQnaBuild(interruptionQnaFiles); await this.runOrchestratorBuild(orchestratorBuildFiles, emptyFiles); } catch (error) { - throw new Error(error.message ?? error.text ?? 'Error publishing to LUIS or QNA.'); + // handle this special error case where QnA Maker returns this uninformative error. + // in their portal, it is accompanied by a message about the search service limits + // (A free search is limited to 3 indexes, which can be used up quickly) + if (error.text === 'Qnamaker build failed: Runtime error.') { + throw new Error( + 'QnA Maker build failed: This error may indicate that your Search service requires an upgrade. For information about the Search service limits, see here: https://docs.microsoft.com/en-us/azure/search/search-limits-quotas-capacity' + ); + } else { + throw new Error(error.message ?? error.text ?? 'Error publishing to LUIS or QNA.'); + } } };