ReferenceApplies to: Unified engine deployments
[spark_connect]
Listener
Protocol limits
protocol.max_retained_operations
Limits how many operations the server keeps available for client reattachment.
- Default:
64
- Type: integer; positive
Example
64 bounds retained operations for clients that reconnect. It does not mean a query can return only 64 rows.
protocol.max_retained_response_bytes
Limits how much operation-response data is kept so it can be replayed to a reconnecting client.
- Default:
16777216
- Type: integer (bytes); positive
Example
16777216 gives retained response data a 16 MiB budget. The full stored query result has separate limits.
protocol.user_id
Chooses the identity the Spark Connect listener assigns to client operations.
- Default:
"local"
- Type: string
Example
Setting it to "analytics" uses that server-owned identity even if a client sends a different UserContext value.
protocol.max_request_bytes
Limits the encoded size of one incoming request.
- Default:
16777216
- Type: integer (bytes); positive
Example
16777216 accepts a request up to 16 MiB. A large submitted plan or SQL request counts toward that request’s limit.
protocol.max_response_bytes
Limits the encoded size of one outgoing response.
- Default:
68157440
- Type: integer (bytes); positive
Example
67108864 gives one response a 64 MiB budget. A larger result can require smaller result pages rather than one larger response.
protocol.max_plan_depth
Limits how deeply an incoming client plan may be nested.
- Default:
128
- Type: integer; positive
Example
128 bounds nesting to 128 levels. Deeply nested expressions can reach this limit even when the SQL text is short.
protocol.max_plan_nodes
Limits how many operations and expressions an incoming plan may contain.
- Default:
100000
- Type: integer; positive
Example
100000 bounds the plan’s node count. Raising the HTTP byte limit alone does not increase this count.
Last modified on November 4, 2026