Skip to content

Config schema: orchestrator

This page lists the fields for the top-level orchestrator: block — global limits on retries, transaction duration, and in-flight transaction capacity. For when retries fire, pool selection on re-entry, and client-visible outcomes, see Retries and transactions.

orchestrator

Property Value
Type Mapping (object)
Required No — defaults apply when the block is omitted
Location Top-level key in the config file

When orchestrator: is omitted, Conduit applies the defaults in the table below at parse time.

Block fields

FieldTypeRequiredDefaultDescription
max_attemptsintegerno3Maximum Route → Forward cycles for one client query (includes the first attempt). Must be ≥ 1 when set explicitly.
max_txn_duration_msintegerno5000Wall-clock limit for the whole transaction from start through Send or drop. Checked before each Route.
txn_table_capacityintegerno1024Capacity of the in-flight transaction table on the datapath — bounds concurrent queries being processed, not per-query retry count.

How limits interact

Conduit checks max_attempts and max_txn_duration_ms before each Route. A retry from Response rules re-enters at Route only while both limits allow and the target pool still has an unused backend.

When a limit is exceeded (or the pool is exhausted), Conduit typically sets SERVFAIL and moves to Send instead of forwarding again — see Retries and transactions — What the client sees when limits hit.

txn_table_capacity is independent of max_attempts: it caps how many transactions the datapath tracks at once under load. See Runtime and concurrency — Worker counts and limits.

Reload and overlay

Change Effect
Edit orchestrator: on disk + reload New limits apply to later queries — no process restart required
conduitctl apply patch including orchestrator: Replaces the file-layer orchestrator: section in the overlay when present; hot for new queries after successful apply

In-flight transactions keep the limits they started under.

Validation summary

Rule Error if violated
max_attempts ≥ 1 when orchestrator: present orchestrator.max_attempts must be >= 1

Validate with conduitctl validate --file ….

Example configuration

orchestrator:
  max_attempts: 5
  max_txn_duration_ms: 8000
  txn_table_capacity: 2048

Declarative retry example using defaults: Retries and transactions — Declarative examples.