From the eShop (AdventureWorks), mapped as three services architecture map

An unreachable embedding model blocks product price changes

risk · critical · verified

UpdateItem and CreateItem await CatalogAI.GetEmbeddingAsync before saving, with no try/catch, and CatalogAI calls the embedding generator directly. When the configured provider (Ollama or OpenAI, chosen at startup by the OllamaEnabled flag) is unreachable, the exception escapes the endpoint before anything is saved. In UpdateItem that happens before the price-changed event reaches the outbox, so a price update fails outright.

Impact: A price change (and any other catalog write) fails whenever the configured embedding provider is down, even though pricing has nothing to do with search.

Recommendation (small effort): Catch embedding failures in UpdateItem and CreateItem, log them and save without a vector, so an unreachable model cannot fail the write and its price-changed event.

The trail

  1. Text Embedding Provider
  2. Catalog AI (Embedding) Service
  3. Catalog API Host & Bootstrap
  4. Catalog API Host & Bootstrap
Open on the map

More from this board