Skip to content

feat(hive): Add 4.2.1, drop 4.0.1 - #1637

Merged
NickLarsenNZ merged 7 commits into
mainfrom
feat/hive-421-drop-40x
Sep 22, 2026
Merged

NickLarsenNZ merged 7 commits into
mainfrom
feat/hive-421-drop-40x

Conversation

@lfrancke

@lfrancke lfrancke commented Sep 14, 2026

Copy link
Copy Markdown
Member

Stacked on #1636

What this does

  • Adds Hive 4.2.1
  • Removes 4.0.1
  • Keeps 4.0.0 for one more release

Hive 4.0.1 removed get_table and get_table_objects_by_name from the metastore Thrift
interface. Any client built against a Hive 2.3 metastore client still calls them, and that
is what Spark bundles: 2.3.9 in Spark 3.5, 2.3.10 in Spark 4.0 through 4.2. Iceberg's
HiveCatalog reaches the metastore through IMetaStoreClient and therefore uses whichever
client Spark supplies, so an Iceberg job against a Hive 4.0.1 or newer metastore fails.

This restores the methods as they were in Hive 4.0.0.
Hive 4.2.1 was previously recorded as blocked because upstream had not published
hive-iceberg-catalog, hive-iceberg-handler or hive-hcatalog-server-extensions at that
version. That is stale: two of the three are on Maven Central at 4.2.1, the third
(hcatalog-server-extensions) is absent at 4.2.0 as well, which we have shipped all along,
and all three are modules of the Hive reactor. The preceding change makes the build resolve
them from the reactor rather than from Maven Central, so what upstream published stopped
mattering. 4.2.1 builds clean, with the same restored Thrift methods and the same single
externally-sourced jar (hive-storage-api) as 4.2.0.

Patches 0001-0004 applied to 4.2.1 without rebasing; 0005 and 0006 were regenerated by the
generator, which verifies its thrift toolchain by requiring that the unmodified IDL
regenerates Hive's committed sources byte-for-byte. The OPA authorizer image is pinned per
Hive version, so it gains a 4.2.1 variant; it is built from source with hive-version as a
build argument, so this costs nothing upstream.

4.0.1 is the one version we ship that serves neither the old Thrift methods nor our patch:
it is where HIVE-26537 landed, and it is shipped as upstream released it. Anyone on it is
already broken against Iceberg, so moving them to 4.2.1 is a fix rather than a cost.

4.0.0 stays for one more release. It predates the removal and serves the methods natively,
so it is unaffected by the Iceberg problem, and keeping it means a user running it in 26.7
can upgrade the platform first and Hive afterwards instead of being forced to do both in
the same window. It can go once that upgrade path has been available for a release.
@lfrancke
lfrancke force-pushed the feat/hive-421-drop-40x branch from 86ab5dc to 9d2c38d Compare September 14, 2026 11:47
@lfrancke
lfrancke added this pull request to stack #1638 September 14, 2026 12:23
@lfrancke
lfrancke marked this pull request as ready for review September 14, 2026 12:23
@lfrancke lfrancke self-assigned this Sep 14, 2026
@lfrancke lfrancke moved this to Development: Waiting for Review in Stackable Engineering Sep 14, 2026
NickLarsenNZ
NickLarsenNZ previously approved these changes Sep 18, 2026

@NickLarsenNZ NickLarsenNZ left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

#1638, #1641 and #1664 landed on main and appended to the same Fixed section and
link-definition block this branch adds to. Merged rather than rebased so the
reviewed commit stays untouched and the PR gains a commit rather than a rewrite.
The resolution is mechanical: both sides' entries kept, link definitions sorted.
Picks up the main merge from the parent branch, resolving the same CHANGELOG
collision. Merged rather than rebased so the reviewed commit stays untouched.
@lfrancke

Copy link
Copy Markdown
Member Author

conflict resolution...

@NickLarsenNZ NickLarsenNZ left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Base automatically changed from feat/hive-restore-thrift-methods to main September 22, 2026 07:52
@NickLarsenNZ
NickLarsenNZ added this pull request to the merge queue Sep 22, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Sep 22, 2026
@NickLarsenNZ
NickLarsenNZ added this pull request to the merge queue Sep 22, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Sep 22, 2026
@NickLarsenNZ
NickLarsenNZ added this pull request to the merge queue Sep 22, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Sep 22, 2026
@NickLarsenNZ
NickLarsenNZ added this pull request to the merge queue Sep 22, 2026
Merged via the queue into main with commit 07701c5 Sep 22, 2026
3 checks passed
@NickLarsenNZ
NickLarsenNZ deleted the feat/hive-421-drop-40x branch September 22, 2026 08:13
@NickLarsenNZ NickLarsenNZ moved this from Development: Waiting for Review to Development: Done in Stackable Engineering Sep 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Development: Done

Development

Successfully merging this pull request may close these issues.

2 participants