Skip to content

[Data] Support Hive HDFS Kerberos catalog authentication - #26

Open
jiangxt2 wants to merge 1 commit into
masterfrom
hive-storage-authentication
Open

jiangxt2 wants to merge 1 commit into
masterfrom
hive-storage-authentication

Conversation

@jiangxt2

@jiangxt2 jiangxt2 commented Nov 13, 2026 •

Copy link
Copy Markdown
Owner

Description

Discover HDFS Kerberos settings from a Doris Hive Catalog and use an authorized, locally mounted keytab to maintain process-local tickets on the Ray driver and workers. Explicit Arrow filesystems retain priority.

Fall back to Doris when native planning fails before invoking Ray's Parquet reader. Once the reader is called, propagate failures without replaying the read through Doris. Known unsupported HMS authentication modes retain Doris execution.

Related issues

Related to apache/arrow#55424.

How tested

  • python -m pytest -p no:cacheprovider tests/unit -q: 660 passed.
  • python -m pytest -p no:cacheprovider tests/integration -v: 65 passed against Doris 4.0.6.
  • python tests/native_integration/kerberos_cluster_run.py: real Kerberos HDFS with two Ray workers; native reads, ticket renewal or re-login, driver-side fallback, and a worker credential failure after invoking the Ray reader passed. See the native integration README for setup.
  • Ruff lint and formatting, mypy, documentation checks, Sphinx strict and spelling builds, package build, and Twine checks passed.

Additional information

The keytab must be mounted at the catalog-advertised path on the driver and each eligible worker under the configured trusted root. This change does not distribute keytabs. Native reads do not enforce Doris row filters or column masking.

The Kerberos integration used a plain Thrift HMS; Kerberos-authenticated HMS and multiple identities sharing one PyArrow worker/JVM were not verified. Some deferred Ray errors may not include the suggestion to disable auto_native_read.

Signed-off-by: jiangxt2 <jiangxt2@vip.qq.com>
@jiangxt2 jiangxt2 self-assigned this Nov 13, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant