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