Domain Guide — Document Feeding, Storage, and Operations
Document writes (put, update, remove) flow from high-throughput HTTP/2 clients through
container-jdisc document processing chains into the elastic C++ storage layer in content-nodes.
End-to-End Write Path
- Ingress and Document/v1 (
vespa/vespaclient-container-plugin,vespa/vespa-feed-client):- Clients stream JSON document operations over HTTP/2 to
/document/v1/handled by jDisc.
- Clients stream JSON document operations over HTTP/2 to
- Document Processing (
vespa/docproc,vespa/docprocs):- Operations traverse chainable Java
DocumentProcessorcomponents (including custom enrichers,
embedders, and theIndexingProcessorexecutingvespa/indexinglanguagescripts; see
schemas-app-packages).
- Operations traverse chainable Java
- MessageBus and Distributor Routing (
vespa/messagebus,vespa/documentapi,vespa/storage):- Documents are hashed into buckets and routed via
vespa/messagebusto the responsible C++
distributornode (vespa/storage/src/vespa/storage/distributor/).
- Documents are hashed into buckets and routed via
- Persistence and Proton Indexing (
vespa/searchcore):- The distributor replicates writes to content node persistence units (
proton) according to
the cluster state maintained byvespa/clustercontroller-core.
- The distributor replicates writes to content node persistence units (
Operational Controls
- Reindexing and Visiting: Background visiting iterates bucket ranges for reindexing or dump
operations (vespa/storage/src/vespa/storage/visiting/). - Cluster State Convergence:
vespa/clustercontroller-corearbitrates node up/down/maintenance
transitions via ZooKeeper and triggers automatic bucket redistribution.