Search Indexing Service  ·  View 13 of 21  ·  Runtime

Critical Flow — A Price Change Becomes Searchable

Fifteen messages, and the acknowledgement that deliberately arrives before the document is searchable.

Editable source SVG draw.io All views
Inventory Source Capture Tier Change Log Assembly Assembly State Fast Lane Writer idx_v41 Query Service 1. price changed, v812 2. schema check 3. applied version? 4. v811 5. append (key, v812) 6. committed 7. ack 8. fast-lane consume 9. guard + record v812 10. partial update 11. bulk upsert 12. refreshed 13. search via alias 14. hits + index version 15. attach freshness Critical Flow — A Price Change Becomes Searchable Message 7 is the acknowledgement: the source is free once the change is durable, not once it is searchable. v 1.0 · owner Data Platform Architecture

Decisions

  • Message 7 is the source's acknowledgement, sent once the change is durable in the log — not once it is indexed. That single ordering is what keeps the accept path fast and the lanes independent.
  • The version guard runs twice: at capture against assembly state, and again at apply, so a reordered redelivery cannot regress a document in either place.
  • The fast lane performs a partial update: no join, no enrichment, no document reassembly for a field that changes hundreds of times an hour on a popular item.
  • The query response is stamped with the index version and observed freshness at message 15, so the caller can judge the answer rather than trust it.

Assumptions

  • Ingestion accept p99 ≤ 50 ms single change; fast lane source-commit-to-searchable p95 ≤ 2 s, p99 ≤ 10 s.

Risks

  • A cluster refresh interval that is tuned for indexing throughput will quietly spend the fast lane's entire budget.