HIVE-29877: HMSCatalogAdapter fails to route Iceberg REST endpoints containing an optional {prefix} - #6749
Open
Aggarwal-Raghav wants to merge 1 commit into
Open
HIVE-29877: HMSCatalogAdapter fails to route Iceberg REST endpoints containing an optional {prefix}#6749Aggarwal-Raghav wants to merge 1 commit into
Aggarwal-Raghav wants to merge 1 commit into
Conversation
Contributor
Author
|
BEFORE: HTTP request fired from spark -> HMS IRC: |
…ontaining an optional {prefix}
Aggarwal-Raghav
force-pushed
the
HIVE-29877
branch
from
September 2, 2026 01:47
e182011 to
7b3a2c9
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.




What changes were proposed in this pull request?
HIVE-29877
Previously, the router expected URLs to match an exact length and crashed if an Iceberg client sent a
{prefix}(like my_catalog). This PR introduces a mathematical offset that dynamically calculates the length of any prefix, allowing the server to gracefully accept and route multi-segment prefixes.Why are the changes needed?
{prefix}in../iceberg/v1/configcatalogs/<uc_catalog_name>can be prefix https://docs.databricks.com/aws/en/external-access/iceberg#rest-api-curl-example--conf spark.sql.catalog.local.prefix=my_test_prefixDoes this PR introduce any user-facing change?
Yes (Positive Impact): Users can now successfully connect strict Iceberg REST clients that inject custom multi-segment prefixes into the HTTP paths without hitting HTTP 400 errors.
How was this patch tested?
Write Junit test and spark docker image testing (Screenshot attached below)