Skip to main content

fragment_decode_session_context

Function fragment_decode_session_context 

Source
pub fn fragment_decode_session_context() -> SessionContext
Expand description

The session context a dfplan:v1: fragment is decoded on.

A5: the round-trip guard is the one contract on this path exercised from both sides, and it was rehearsing the decode against the wrong session. The executor decodes on krishiv-executor’s task_sql_engine, i.e. a real crate::SqlEngine — its function registry, its SQL dialect, its config, its object-store registry. planning_session_context is a bare SessionContext that shares none of that, so a fragment referencing any Krishiv-registered UDF (get_json_object, tumble_start, …) decoded fine on the executor and failed here — and the caller reads a failed verify as “decline to stage”, which silently runs the whole query as a single task.

Built from the same constructor the executor uses, differing only in the memory source: nothing executes on this context, so the rehearsal takes an unbounded pool instead of the task’s per-slot share. target_partitions is likewise irrelevant — a fragment is decoded, never re-planned.