Configuration reference

Configure resource guards

Set the query timeout, row cap, concurrency cap and REST rate limit, live and without a restart.

Fabric Current 2 min read Updated

Resource guards protect Kiwi Fabric, and the systems behind it, from runaway queries. Changes take effect immediately, with no restart, except for the REST rate limit, which is read when the server starts.

Setting guards requires superadmin.

In the Web UI, Resource Guards shows and edits the same four settings.

The Resource Guards page with fields for query timeout, maximum result rows, maximum concurrent queries and REST rate limit
The four resource guards.

View the current settings#

bash
kiwi fabric resource-guards-get

Change them#

bash
kiwi fabric resource-guards-set --timeout 60 --max-rows 100000 --max-concurrent 16 --rate-limit 600
Option Meaning
--timeout Query timeout in seconds
--max-rows Maximum rows a single query result, or a single handler fetch, may return before it is rejected
--max-concurrent Maximum concurrently running queries across REST, PostgreSQL wire and Arrow Flight
--rate-limit REST requests allowed per minute (requires a server restart)

The values above are examples, not recommendations. Choose limits that suit your sources and workloads.

The same settings are available in the Web UI and through the REST API (GET/PUT /api/admin/resource-guards-config).

Semi-join settings#

Cross-source semi-join behaviour is configured separately, per provider (batch size, iteration cap, parallel batches and the fallback policy). Use the Web UI, or GET /api/admin/semijoin-config and PUT/DELETE /api/admin/semijoin-config/{providerKey}. In the Web UI this is Fetch Config.

The Fetch Config page with per-provider fields for maximum IN-list size, maximum iterations, maximum parallel batches and the behaviour on batch failure
Per-provider semi-join tuning.

See Performance and resource limits.

What a rejection looks like#

A request stopped by a guard fails with an explicit error, and the span in telemetry is tagged with which guard fired and why. See Common problems.