Andrew Kyle Purtell created HBASE-26259:
-------------------------------------------
Summary: Fallback support to pure Java compression via
aircompressor
Key: HBASE-26259
URL: https://issues.apache.org/jira/browse/HBASE-26259
Project: HBase
Issue Type: Sub-task
Reporter: Andrew Kyle Purtell
Assignee: Andrew Kyle Purtell
Fix For: 2.5.0, 3.0.0-alpha-2
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
both 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.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)