[
https://issues.apache.org/jira/browse/SPARK-60989?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated SPARK-60989:
-----------------------------------
Labels: pull-request-available (was: )
> Populate configured user context on typed requests in Spark Connect Rust
> ------------------------------------------------------------------------
>
> Key: SPARK-60989
> URL: https://issues.apache.org/jira/browse/SPARK-60989
> Project: Spark
> Issue Type: Bug
> Components: Connect
> Affects Versions: connect-rust-4.3.0
> Reporter: DB Tsai
> Priority: Major
> Labels: pull-request-available
> Fix For: connect-rust-4.3.0
>
>
> The Spark Connect Rust client can have a user ID configured through
> ChannelBuilder, but typed ExecutePlan and AnalyzePlan requests, including the
> initial request for reattachable execution, do not populate a missing or
> empty UserContext.user_id from that configuration. The configured identity
> can reach gRPC metadata while remaining absent from the protobuf request body.
> To reproduce, configure a user ID on the channel, issue one of these typed
> requests with no UserContext or an empty user_id, and inspect the request
> received by a gRPC endpoint. The body should contain the configured user ID
> when the caller has not provided one.
> The fix should:
> * Populate missing user IDs on the affected typed execution and analysis
> requests before constructing the reattachable response stream.
> * Preserve explicit caller-provided IDs, user names, and context extensions.
> * Carry the effective execution context through ReattachExecute and
> ReleaseExecute, including cleanup after completion or an early stream drop.
> * Leave raw serialized passthrough requests byte-exact, including unknown
> protobuf fields.
> Artifact attribution is already handled on master by PR #164 through the
> shared upload_artifact_requests path; that behavior should be retained when
> rebasing. Broader client_type propagation is separate work.
> Regression coverage should inspect actual protobuf requests at an in-memory
> gRPC endpoint for absent, empty, and explicit contexts; reattach and release
> identity; asynchronous cleanup; and unchanged raw passthrough bytes. Existing
> regression results on the proposal branch need to be refreshed after rebasing
> onto the current execution lifecycle.
> Proposed fix and regression coverage by WindsorWZZ:
> https://github.com/apache/spark-connect-rust/pull/140
> Related artifact attribution change:
> https://github.com/apache/spark-connect-rust/pull/164
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]