HyukjinKwon opened a new pull request, #64: URL: https://github.com/apache/spark-connect-rust/pull/64
### What changes were proposed in this pull request? Apply the gRPC max message size to the channel. `GRPC_MAX_MESSAGE_LENGTH_DEFAULT` (128 MiB) was declared in `channel.rs` but referenced nowhere, so tonic's **4 MiB** default receive cap stood. Add `ChannelBuilder::max_message_size()` (parses `grpc_max_message_size`, defaults to 128 MiB, and falls back to the default for a non-positive value rather than a 0-byte cap) and apply it via `max_decoding_message_size` / `max_encoding_message_size` to the `SparkConnectServiceClient` stub and to every raw `tonic::client::Grpc` call (`execute_plan_raw` / `reattach_execute_raw` / `analyze_plan_raw`). ### Why are the changes needed? Any `collect()` returning a >4 MiB Arrow batch fails with a decode-size error that the reference (grpcio) client handles fine, because it raises the limit. This is the same "documented option parsed but never applied" bug-class as the keepalive fix in SPARK-59032; found during that PR's review by @viirya. ### Does this PR introduce _any_ user-facing change? The client now honors `grpc_max_message_size` (default 128 MiB) instead of tonic's 4 MiB default, so large results no longer hit a spurious decode error. No API change. ### How was this patch tested? New unit test covering the default, an explicit override, and the non-positive fallback; all 94 `apache-spark-connect-core` unit tests pass. This pull request and its description were written by Isaac. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
