sun.misc.Unsafe usage in Zero-Allocation-Hashing will be deprecated - what is Parquet's plan?
- 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