Skip to main content
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