cloud-fan opened a new pull request, #57706:
URL: https://github.com/apache/spark/pull/57706

   ### What changes were proposed in this pull request?
   
   This follow-up to #57262 makes `FileTokenIngestor` detect token rotation by 
comparing
   file content instead of modification timestamps. It publishes the cached 
token content and
   parsed `UserContext` together through one immutable volatile snapshot.
   
   The change also documents the `TokenIngestor` concurrency and refresh 
contract, removes an
   unsupported claim that every token is re-verified by a downstream STS 
exchange, and fixes two
   Javadoc issues.
   
   ### Why are the changes needed?
   
   The previous cache stored the parsed context and mtime in separate volatile 
fields. Concurrent
   callers could interleave those writes and pair a context from one file 
version with another
   version's mtime. An mtime-only cache could also miss content changes when a 
replacement retained
   the same timestamp or occurred within the filesystem's timestamp granularity.
   
   Comparing the small token file's content and publishing one cache snapshot 
avoids both failure
   modes while preserving the optimization that unchanged tokens are not 
reparsed.
   
   ### Does this PR introduce _any_ user-facing change?
   
   No. This fixes unreleased OIDC credential propagation code on `master`.
   
   ### How was this patch tested?
   
   Added a regression test that replaces a token while preserving its mtime and 
verifies that the
   new identity is loaded.
   
   ```text
   build/sbt 'core/testOnly *FileTokenIngestorSuite'
   ```
   
   All 14 tests passed.
   
   ### Was this patch authored or co-authored using generative AI tooling?
   
   Generated-by: Codex (GPT-5)
   


-- 
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]

Reply via email to