Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-25920 Support Hadoop 3.3.1
  3. HBASE-25940

Update Compression/TestCompressionTest: LZ4, SNAPPY, LZO

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 3.0.0-alpha-1, 2.5.0, 2.4.4
    • None
    • None
    • Reviewed

    Description

      LZ4 was changed in hadoop-3.3.1 to use a more amenable library, one that did not require gymnastics installing lz4 native libs everywhere; rather, you just add a jar to the classpath. See HADOOP-17292.

      Similar was done for SNAPPY. See HADOOP-17125.

      What this means is that our TestCompressionTest passes for hadoop before 3.3.1 but at 3.3.1, the assert that SNAPPY and LZ4 compressors should fail – because no lib installed – now no longer asserts.

      While in here, LZO is GPL and requires extra install to setup [1]. When TestCompressionTest runs, it emits the below for the LZO check. The check is kinda useless.

      2021-05-28T10:05:36,513 WARN  [Time-limited test] util.CompressionTest(75): Can't instantiate codec: lzo
      org.apache.hadoop.hbase.DoNotRetryIOException: Compression algorithm 'lzo' previously failed test.
      

      I think best thing for now is to comment out the asserts that LZ4 and SNAPPY do NOT work when binary cannot be found – since this holds only if hadoop < 3.3..1; the test is a little weak anyways.

      1. https://stackoverflow.com/questions/23441142/class-com-hadoop-compression-lzo-lzocodec-not-found-for-spark-on-cdh-5

      Attachments

        Issue Links

          Activity

            People

              stack Michael Stack
              stack Michael Stack
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: