Skip to content

Commit f432d6b

Browse files
timsaucerclaude
andcommitted
fix(codec): point strict refusal at the sender, not the receiver
The previous refusal text told the operator to "re-encode the bytes with inlining enabled" — but the operator seeing this error is the receiver, whose session has inlining off. The receiver cannot re-encode bytes it did not produce; only the sender can. Reword to direct the fix at the side that can apply it: ask the sender to re-encode with inlining disabled (the by-name form a strict receiver actually accepts), or register the UDF on the receiver and enable inlining on both sides. Phrase preserves the "inlining is disabled" substring the strict-mode test asserts against. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 9e15f72 commit f432d6b

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

crates/core/src/codec.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -353,10 +353,10 @@ fn refuse_inline_payload(kind: &str, name: &str) -> datafusion::error::DataFusio
353353
// error would mis-route it into "fix your SQL" buckets.
354354
datafusion::error::DataFusionError::Execution(format!(
355355
"Refusing to deserialize inline Python {kind} '{name}': Python UDF \
356-
inlining is disabled on this session. Re-encode the bytes with \
357-
inlining enabled, or register '{name}' on the sender's session \
358-
before encode (and on the receiver before decode) so the UDF \
359-
travels by name."
356+
inlining is disabled on this session. Ask the sender to re-encode \
357+
with inlining disabled (so the UDF travels by name), or register \
358+
'{name}' on this receiver's session and enable inlining on both \
359+
sides — receivers cannot re-encode bytes they did not produce."
360360
))
361361
}
362362

0 commit comments

Comments
 (0)