diff --git a/x-pack/platform/plugins/shared/observability_ai_assistant/server/service/inference_endpoint.ts b/x-pack/platform/plugins/shared/observability_ai_assistant/server/service/inference_endpoint.ts index e26e4248d28ce..422d70fe8cc5d 100644 --- a/x-pack/platform/plugins/shared/observability_ai_assistant/server/service/inference_endpoint.ts +++ b/x-pack/platform/plugins/shared/observability_ai_assistant/server/service/inference_endpoint.ts @@ -154,7 +154,7 @@ export async function getKbModelStatus({ if (!isInferenceEndpointMissingOrUnavailable(error)) { throw error; } - logger.error(`Inference endpoint "${inferenceId}" not found or unavailable: ${error.message}`); + logger.warn(`Inference endpoint "${inferenceId}" not found or unavailable: ${error.message}`); return { enabled, diff --git a/x-pack/platform/plugins/shared/observability_ai_assistant/server/service/startup_migrations/populate_missing_semantic_text_fields.ts b/x-pack/platform/plugins/shared/observability_ai_assistant/server/service/startup_migrations/populate_missing_semantic_text_fields.ts index b29d61f01a87f..feb4c18482fc4 100644 --- a/x-pack/platform/plugins/shared/observability_ai_assistant/server/service/startup_migrations/populate_missing_semantic_text_fields.ts +++ b/x-pack/platform/plugins/shared/observability_ai_assistant/server/service/startup_migrations/populate_missing_semantic_text_fields.ts @@ -47,6 +47,23 @@ async function populateMissingSemanticTextField({ }) { logger.debug('Initalizing semantic text migration for knowledge base entries...'); + const { count } = await esClient.asInternalUser.count({ + index: resourceNames.writeIndexAlias.kb, + query: { + bool: { + must_not: { + exists: { field: 'semantic_text' }, + }, + }, + }, + }); + logger.info(`Documents missing 'semantic_text' before migration: ${count}`); + + if (count === 0) { + logger.debug('No documents missing semantic_text field, skipping migration.'); + return; + } + await pRetry( async () => { const inferenceId = await getInferenceIdFromWriteIndex(esClient);