ReferenceApplies to: Unified engine deployments
[controller]
Settings
max_planning_depth
Limits how deeply the controller may recurse while planning work.
- Default:
128
- Type: integer; positive
Example
128 prevents planning from expanding through more than 128 nested levels.
max_planning_nodes
Limits how many nodes the controller may handle while planning one workload or query.
- Default:
100000
- Type: integer; positive
Example
100000 bounds planning work for a complex query. It is separate from the count of rows the query reads.
source_discovery_limit
Limits how many source changes one discovery request may return to the controller.
- Default:
100
- Type: integer; positive
Example
100 asks a source enumerator for at most 100 changes at once. Additional changes can be discovered in later requests.
max_source_splits
Limits how many separate source pieces a planned read may contain.
- Default:
100000
- Type: integer; positive
Example
A file scan with 200000 pieces cannot be admitted under a limit of 100000, even if the individual files are small.
max_result_schema_bytes
Limits the size of a task result’s saved column schema.
- Default:
8388608
- Type: integer (bytes); positive
Example
8388608 allows up to 8 MiB describing column names and types. It does not include the result rows themselves.
catalog_page_size
Sets how many catalog entries the controller asks for in each listing request.
- Default:
100
- Type: integer; positive
Example
100 lists a catalog in pages of up to 100 entries instead of trying to load every entry in one response.
max_catalog_result_rows
Limits how many rows catalog-backed SQL metadata queries may return.
- Default:
10000
- Type: integer; positive
Example
10000 bounds the rows returned by an engine catalog listing. This is separate from a query scanning rows in a data table.
max_catalog_result_bytes
Limits the bytes returned by catalog-backed SQL metadata queries.
- Default:
67108864
- Type: integer (bytes); positive
Example
67108864 gives that metadata result a 64 MiB budget. The row-count limit applies at the same time.
retry_delay
Sets how long the controller waits before checking work that needs another attempt.
- Default:
1 s
- Type: duration
Example
{ secs = 1, nanos = 0 } waits one second between checks. It does not automatically repeat an unconfirmed table write.
Source I/O
source_io_limits.max_batch_rows
Limits how many rows one connector read returns at once.
- Default:
65536
- Type: integer; positive
Example
65536 caps a connector batch at 65536 rows. A full scan can still read many batches.
source_io_limits.max_buffered_bytes
Limits how many bytes this component keeps in its data buffer.
- Default:
33554432
- Type: integer (bytes); positive
Example
33554432 gives the buffer 32 MiB. This is one component’s buffer budget, not the whole worker’s memory limit.
source_io_limits.max_concurrent_requests
Limits how many data-storage requests this component may make at once.
- Default:
4
- Type: integer; positive
Example
4 allows four simultaneous I/O requests. Raising it can improve throughput but increases pressure on storage and memory.
Last modified on November 4, 2026