[Spark][4.3] Fix OAuth case-sensitivity bug in UCTokenBasedRestClientFactory#7088
Open
seewishnew wants to merge 1 commit into
Open
[Spark][4.3] Fix OAuth case-sensitivity bug in UCTokenBasedRestClientFactory#7088seewishnew wants to merge 1 commit into
seewishnew wants to merge 1 commit into
Conversation
3927635 to
fd440c0
Compare
huan233usc
approved these changes
Jun 24, 2026
fd440c0 to
63b9062
Compare
CaseInsensitiveStringMap.entrySet() returns keys lowercased via its
internal delegate map. When extractAuthConfig() iterates these entries
and strips the "auth." prefix, camelCase suffixes like "oauth.clientId"
become "oauth.clientid". The downstream OAuthTokenProvider.initialize()
then fails because it does a case-sensitive configs.get("oauth.clientId")
on the resulting plain Map.
Fix: Extract a filterByPrefix() helper that uses asCaseSensitiveMap() to
preserve original key casing from CaseInsensitiveStringMap inputs, and
returns results wrapped in a new CaseInsensitiveStringMap so downstream
consumers get case-insensitive lookups. Refactor both extractAuthConfig
and extractAppVersions to use this helper.
This mirrors the pattern used by the UC Spark connector's
AuthConfigUtils.buildAuthConfigs() which also returns a
CaseInsensitiveStringMap.
63b9062 to
63a4cc0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backport of #7087 to branch-4.3.
Fixes a bug where
CaseInsensitiveStringMap.entrySet()returns lowercase keys, destroying camelCase OAuth config keys likeoauth.clientIdin the Delta REST Catalog authentication path. See #7087 for full description and reproduction steps.Cherry-picked cleanly with no conflicts.