WindsorWZZ opened a new pull request, #139: URL: https://github.com/apache/spark-connect-rust/pull/139
### What changes were proposed in this pull request? Resume a reattachable ExecutePlan stream with ReattachExecute when the server closes it cleanly before ResultComplete. Reuse the last observed response ID and the existing retry handling. Draft proposal: the public Apache SPARK issue key is pending. ### Why are the changes needed? Spark can close an individual response stream at its duration or size limit while the execution is still running. Treating that EOF as completion silently truncates results. The protocol requires the client to reattach until it receives ResultComplete. ### Does this PR introduce _any_ user-facing change? Yes. Reattachable executions continue receiving results after a clean stream closure instead of returning incomplete results. Non-retryable errors and retry exhaustion still surface to the caller. ### How was this patch tested? - Eight regression tests use real gRPC request/response framing over in-memory I/O; no Spark server or TCP port is required. They cover repeated EOFs, an empty initial stream, response-ID continuity, normal completion, transient stream errors, reattach RPC errors, and retry exhaustion. - Before the fix, five of these tests fail; after the fix, all 103 core unit tests pass. - Checked-in-lockfile validation: 103 core unit tests and 392 client unit tests pass. All client integration targets compile with and without `wasm-udf`. The three existing core live-server tests remain ignored. - `cargo fmt --all --check` passes. The existing Rust CI workflow runs these tests through `cargo test -p apache-spark-connect -p apache-spark-connect-core --release`. ### Was this patch authored or co-authored using generative AI tooling? Generated-by: OpenAI Codex (GPT-6) 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]
