[Java] Slow LZ4 compression using java Arrow 12.0.0
- Dominant language
- Java
- Stars
- 94
- Forks
- 152
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 11
Description
### Describe the bug, including details regarding any error messages, version, and platform.
500 MB of arrow data took a few hours to compress. A 5GB selection ran for a couple of days and did not complete. The one that did worked fine once it was done and I was able to read it back in and use it. Without compression, data writes out fine in a much shorter time frame for both. Using the following code to set up my writer:
```
ArrowFileWriter writer = new ArrowFileWriter(root, null, Channels.newChannel(fos), new HashMap<>(), IpcOption.DEFAULT, CommonsCompressionFactory.INSTANCE, CompressionUtil.CodecType.LZ4_FRAME));
```
Running code with:
```
java -version
openjdk version "17.0.7" 2023-04-18
OpenJDK Runtime Environment GraalVM CE 22.3.2 (build 17.0.7+7-jvmci-22.3-b18)
OpenJDK 64-Bit Server VM GraalVM CE 22.3.2 (build 17.0.7+7-jvmci-22.3-b18, mixed mode, sharing)
```
### Component(s)
Java
Contributor guide
Research direction
Start by reproducing the reported compression behavior with ArrowFileWriter, CommonsCompressionFactory, and CompressionUtil.CodecType.LZ4_FRAME using the Java and OpenJDK versions provided. Compare compressed and uncompressed write times for the reported data sizes; done means the cause of the excessive LZ4 runtime is identified and the issue has a verified resolution.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100