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]
