apache / apache/parquet-java

sun.misc.Unsafe usage in Zero-Allocation-Hashing will be deprecated - what is Parquet's plan?

Open
#3,185 2 comments 0 reactions 0 assignees View on GitHub
Type: bug
Dominant language
Java
Stars
3.1k
Forks
1.6k
Avg merge
3d 12h
Merged PRs (30d)
33

Description

### Describe the bug, including details regarding any error messages, version, and platform.

The parquet-java repo depends on the [Zero-Allocation-Hashing](https://github.com/OpenHFT/Zero-Allocation-Hashing) library. That library uses `sun.misc.Unsafe`, which is being deprecated. As of the already-released JDK 24, uses of that library emit warnings (see [JEP 498](https://openjdk.org/jeps/498)). The library is slated to be deprecated after JDK 26, which probably means JDK 27 (or later). JDK 27 is scheduled to be released in September 2026.

So, parquet-java has two options:
1) Wait for Zero-Allocation-Hashing to migrate away from uses of `sun.misc.Unsafe`. There is [an issue](https://github.com/OpenHFT/Zero-Allocation-Hashing/issues/94) in that repo for this work. However, it's unclear to me how much attention the repo gets. The last release was in 2021, and the last commit was 5 months ago. So, parquet-java may or may not be able to rely on that repo to do the required fixes.
2) Use another library, which does not use sun.misc.Unsafe.
3) Write a new version, inside the parquet-java repo.

I want to bring this issue up so the contributors here are aware of the issue. What should the next steps be?

### Component(s)

_No response_

Contributor guide

No contributing guide indexed for this repository

Research direction

No source files or tests are identified in the issue. Start by reviewing parquet-java's dependency on Zero-Allocation-Hashing and the linked upstream issue about replacing sun.misc.Unsafe, then compare the three proposed options. Done means the project has an agreed next step for avoiding the deprecation risk.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
data-engineering
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.