Skip to content

[Cherry-pick to branch-1.3] [#13967] fix(spark-connector): Reject Kerberos for routed Iceberg REST catalogs (#13968) - #14034

Merged
jerryshao merged 2 commits into
branch-1.3from
cherry-pick-5a45beb1-to-branch-1.3
Oct 22, 2026
Merged

jerryshao merged 2 commits into
branch-1.3from
cherry-pick-5a45beb1-to-branch-1.3

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Cherry-pick Information:

…uted Iceberg REST catalogs (#13968)

### What changes were proposed in this pull request?

- With `spark.sql.gravitino.authType=token`, pass the bearer token to
the routed Iceberg REST client as the `token` property.
- With `kerberos`, fail at catalog initialization with an error naming
the auth mode.
- Explicit `rest.auth.*`, `token` or legacy OAuth2 properties keep
priority and disable both.

### Why are the changes needed?

Routed Iceberg catalogs reach IRC without credentials under token auth
and fail with 401, and Kerberos fails silently.

Fix: #13967

### Does this PR introduce _any_ user-facing change?

Yes. Token is reused for IRC, and a Kerberos session with a routed
Iceberg catalog and no explicit `rest.*` auth now fails at
initialization. Docs are updated. No new property keys.

### How was this patch tested?

Added unit tests in `TestIcebergRestOAuthConfig`.
@github-actions github-actions Bot added the cherry-pick Automatically opened cherry-pick PR label Oct 20, 2026
@github-actions
github-actions Bot requested a review from jerryshao October 20, 2026 21:05
@diqiu50 diqiu50 self-assigned this Oct 21, 2026
The token auth type (#12570) is not in branch-1.3, so only the Kerberos fail-fast is backported.
@diqiu50 diqiu50 changed the title [Cherry-pick to branch-1.3] [#13967] fix(spark-connector): Reuse token and reject Kerberos for routed Iceberg REST catalogs (#13968) [Cherry-pick to branch-1.3] [#13967] fix(spark-connector): Reject Kerberos for routed Iceberg REST catalogs (#13968) Oct 21, 2026
@github-actions

Copy link
Copy Markdown
Author

Code Coverage Report

Overall Project 69.7% +0.08% 🟢
Files changed 86.45% 🟢

Module Coverage
aliyun 19.74% 🔴
api 47.41% 🟢
authorization-common 85.96% 🟢
authorization-ranger 10.17% 🔴
aws 60.78% 🟢
aws-bundle 0.0% 🔴
azure 68.04% 🟢
azure-bundle 0.0% 🔴
catalog-common 19.13% 🔴
catalog-fileset 80.73% 🟢
catalog-glue 71.33% 🟢
catalog-hive 80.55% 🟢
catalog-jdbc-clickhouse 84.7% 🟢
catalog-jdbc-common 53.51% 🟢
catalog-jdbc-doris 85.55% 🟢
catalog-jdbc-hologres 54.03% 🟢
catalog-jdbc-mysql 85.0% 🟢
catalog-jdbc-oceanbase 78.97% 🟢
catalog-jdbc-postgresql 83.62% 🟢
catalog-jdbc-starrocks 80.43% 🟢
catalog-kafka 75.49% 🟢
catalog-lakehouse-generic 76.11% 🟢
catalog-lakehouse-hudi 79.1% 🟢
catalog-lakehouse-iceberg 85.9% 🟢
catalog-lakehouse-paimon 82.17% 🟢
catalog-model 77.99% 🟢
cli 44.51% 🟢
client-java 78.45% 🟢
client-java-runtime 0.0% 🔴
common 51.51% 🟢
core 83.94% 🟢
filesystem-hadoop3 77.68% 🟢
flink 18.07% 🔴
flink-common 50.97% 🟢
flink-runtime 0.0% 🔴
gcp 32.2% 🔴
hadoop-common 15.43% 🔴
hive-metastore-common 62.61% 🟢
hive-metastore3-libs 58.8% 🟢
iceberg-aliyun-bundle 0.0% 🔴
iceberg-common 60.96% 🟢
iceberg-rest-server 76.42% +0.34% 🟢
idp-basic 86.99% 🟢
integration-test-common 0.0% 🔴
jobs 60.37% 🟢
lance-common 35.51% 🔴
lance-rest-server 79.88% 🟢
lineage 59.39% 🟢
optimizer 82.92% 🟢
optimizer-api 42.56% 🟢
server 89.66% 🟢
server-common 79.26% +0.5% 🟢
spark 28.57% 🔴
spark-common 51.36% +1.46% 🟢
trino-connector 62.84% 🟢
Files
Module File Coverage
iceberg-rest-server IcebergTableOperations.java 81.61% 🟢
IcebergMetadataAuthorizationMethodInterceptor.java 77.78% 🟢
server-common BaseMetadataAuthorizationMethodInterceptor.java 100.0% 🟢
spark-common IcebergRestOAuthConfig.java 98.39% 🟢

@jerryshao
jerryshao merged commit ad104ca into branch-1.3 Oct 22, 2026
33 checks passed
@jerryshao
jerryshao deleted the cherry-pick-5a45beb1-to-branch-1.3 branch October 22, 2026 02:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cherry-pick Automatically opened cherry-pick PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants