Why HTTP sources use replicas
Partitioned sources such as Kafka, Kinesis, and object storage divide their input among parallel subtasks. An HTTP-push source is different: data arrives at a network endpoint, so increasing operator parallelism does not create additional independently reachable endpoints. For an HTTP-source pipeline:- use replicas to add independently running HTTP endpoints behind one load balancer;
- use parallelism for downstream processing where the compiled plan supports it; and
- use a normal pipeline, rather than a PRS, for sources that already partition their input.
- Ingestion capacity - requests can be distributed across multiple healthy replicas.
- Endpoint availability - one replica can restart or recover while other replicas continue accepting requests.
- Stable addressing - producers send requests to one endpoint without tracking individual jobs.
A PRS is supported only for pipelines with an HTTP source. Creating one for another source returns
400 - PipelineReplicaSet is only supported for HTTP source pipelines.Architecture and failure model
Each replica is a complete pipeline job with its own runtime state, checkpoints, and recovery lifecycle. Replicas share the compiled pipeline definition and the load-balanced HTTP endpoint; they do not share in-memory operator state.
In Kubernetes, one dedicated
Service routes requests to the ready replicas in the set. Readiness controls prevent traffic from being sent to a replica that is starting, stopping, or recovering.
REST API
Authorized API clients can create and manage replica sets directly.Create request
Send the following fields toPOST /api/v1/pipeline_replica_sets:
PATCH accepts any subset of replicas, parallelism, checkpointIntervalMicros, and stop. On patch, the checkpoint interval can range from 1 second through 1 day.
Phases
The PRS phase summarizes the state of its active replica jobs:Degraded means the endpoint can continue serving through the remaining ready replicas, but it has less capacity and redundancy than requested. Operators should investigate the failed jobs and repair the set.
Scaling
Updatereplicas to change the number of independent jobs:
parallelism when the downstream plan needs more or fewer subtasks:
Repair and restart
Use repair when healthy replicas should remain available:{"force": true} skips the final checkpoint for the restarted jobs, so they recover from their latest previously successful checkpoints.
Ingest Engine does not automatically invoke repair or restart. A set remains Degraded or Failed until an authorized user or automation performs the appropriate action.
Endpoint lifecycle
Each PRS owns a dedicated load-balanced endpoint. It is created with the set, updated as replicas become ready or stop, and removed when the set is deleted. All replica jobs must be terminal before deletion; otherwise the API returns400. This ensures that jobs stop accepting traffic before their endpoint is removed.