Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
Reviewed
-
Description
Airlift’s aircompressor (https://search.maven.org/artifact/io.airlift/aircompressor) is an Apache 2 licensed library, for Java 8 and up, available in Maven central, which provides pure Java implementations of gzip, lz4, lzo, snappy, and zstd and Hadoop compression codecs for same, claiming “they are typically 300% faster than the JNI wrappers.” (https://github.com/airlift/aircompressor). This library is under active development and up to date releases because it is used by Trino.
Proposed changes:
- Modify Compression.java such that compression codec implementation classes can be specified by configuration. Currently they are hardcoded as strings.
- Pull in aircompressor as a ‘compile’ time dependency so it will be bundled into our build and made available on the server classpath.
- Modify Compression.java to fall back to an aircompressor pure Java implementation if schema specifies a compression algorithm, a Hadoop native codec was specified as desired implementation, but the requisite native support is somehow not available.
Attachments
Attachments
Issue Links
- breaks
-
HBASE-26535 [site, branch-2] DependencyManagement report is broken
- Resolved
- relates to
-
HBASE-26959 Brotli compression support
- Resolved
- links to