Conversation
lfrancke
force-pushed
the
feat/hive-thrift-compat-assertion
branch
from
September 14, 2026 12:37
f341596 to
a24329e
Compare
lfrancke
marked this pull request as ready for review
September 14, 2026 12:38
…thods Hive 4.0.1 removed get_table and get_table_objects_by_name from the metastore Thrift interface (HIVE-26537). Clients built against a Hive 2.3 metastore client still call them, which is what Spark bundles, so Iceberg's HiveCatalog could not talk to a Hive 4.0.1 or newer metastore. Our images for 4.2.0 restore both methods. The smoke test now asserts that. Without it the patch could be dropped during a Hive bump and nobody would notice until it surfaced in somebody's Spark job; with it the test fails with "Invalid method name: 'get_table'" at the point the image changes. It runs unconditionally: every version we ship serves both methods, either because it predates the removal (3.1.3, 4.0.0) or because it carries the patch (4.2.0 and later). 4.0.1, the one exception, is removed in docker-images. Also documents the divergence. Our metastore is deliberately more permissive than an upstream Hive 4 metastore, which matters to anyone planning to move a workload off SDP, so it gets a usage-guide page rather than a footnote. The supported-versions page previously told users to fall back to Hive 3.1.3 because of the Iceberg and Trino problems; the Iceberg half is fixed by the restored methods and the Trino half by Trino 480, so it now says what is actually true. The supported versions change with it: 4.2.1 is added and becomes the LTS, 4.2.0 is deprecated, 4.0.1 is dropped, and 4.0.0 stays deprecated for one more release so that a platform upgrade and a Hive upgrade need not happen in the same window. Verified on k3d against an image built from the patches: smoke (Postgres), kerberos-hdfs and kerberos-s3 all pass, and the new assertion fails as intended against the unpatched image.
lfrancke
force-pushed
the
feat/hive-thrift-compat-assertion
branch
from
September 14, 2026 12:46
a24329e to
eb41bd4
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.
Depends on stackabletech/docker-images#1636 and stackabletech/docker-images#1637.
I just wanted to put them up so you can see the test used to validate those two.
What this does
get_tableandget_table_objects_by_name