Kousuke Saruta created SPARK-57894:
--------------------------------------

             Summary: Implement UpdateUserCredentials RPC, backend integration, 
and task closure delivery
                 Key: SPARK-57894
                 URL: https://issues.apache.org/jira/browse/SPARK-57894
             Project: Spark
          Issue Type: Sub-task
          Components: Spark Core
    Affects Versions: 4.3.0
            Reporter: Kousuke Saruta


This sub-task is part of the umbrella 
[SPARK-57703|https://issues.apache.org/jira/browse/SPARK-57703] (OIDC 
Credential Propagation).

h2. Problem

There is no RPC to distribute delegated credentials from the driver to 
executors, and no guarantee that credentials are available before task 
execution.

h2. Goal

Add credential distribution via RPC broadcast and task closure, ensuring 
executors always have valid credentials when running tasks.

h2. Scope

* New message:
{code:scala}
case class UpdateUserCredentials(payload: Array[Byte]) extends 
CoarseGrainedClusterMessage
{code}
* {{CoarseGrainedSchedulerBackend}}: new method 
{{updateUserCredentials(bytes)}} that stores in {{AtomicReference}} and sends 
to all registered executors. Wired to {{UserCredentialManager}} callback.
* {{CoarseGrainedExecutorBackend}}: handles {{UpdateUserCredentials}} by 
updating executor credential store.
* {{SparkEnv}}: add credential store field.
* {{TaskDescription}}: include current credentials to guarantee availability 
before task execution (avoids race between RPC broadcast and task dispatch).
* RPC broadcast remains for credential refresh during long-running tasks.

h2. Acceptance criteria

* {{UpdateUserCredentials}} is sent to all executors on credential update.
* Executor credential store is updated on receiving the RPC.
* {{TaskDescription}} contains current credentials; executor applies them 
before task runs.
* rawToken is NOT present in any RPC payload or TaskDescription.
* Unit tests for RPC encoding/decoding, backend handling, and task closure 
credential verification.

Reference: [SPIP design document Appendix 
B|https://docs.google.com/document/d/1usJKncCPMiyFUg7aIdpZ0HQsklXIHow_sU_6dfFMjN0/edit].



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to