You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Andrew Kyle Purtell (Jira)" <ji...@apache.org> on 2021/09/08 02:09:00 UTC

[jira] [Created] (HBASE-26259) Fallback support to pure Java compression via aircompressor

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)