You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Alejandro Abdelnur (JIRA)" <ji...@apache.org> on 2011/05/27 20:40:47 UTC

[jira] [Updated] (HBASE-3873) Mavenize Hadoop Snappy JAR/SOs project dependencies

     [ https://issues.apache.org/jira/browse/HBASE-3873?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alejandro Abdelnur updated HBASE-3873:
--------------------------------------

    Attachment: HBASE-3873.patch

The attached patch modifies HBase POM to consume hadoop-snappy (JAR & SOs) as a regular maven dependencies (including the hadoop-snappy and snappy SO files).

By default Hbase builds without including snappy, to enable snappy during for testing/packaging invoke maven with the '-Dsnappy' option.

The TestCompressionTest testcase will assert SNAPPY compression based on the availability of the Snappy codec class (we should do the same for LZO)

Regarding building/installing Hadoop-Snappy locally:

Because hadoop-snappy is not currently available in public Maven repositories, you need to build and install hadoop-snappy in your local Maven cache.  hadoop-snappy build is Mavenized, thus building/installing-locally hadoop-snappy is done with a 'mvn install'. To build hadoop-snappy you have to have snappy SO installed in your /usr/local/lib (or in an alternate directory and use -Dsnappy.lib= when building/installing hadoop-snappy)

> Mavenize Hadoop Snappy JAR/SOs project dependencies
> ---------------------------------------------------
>
>                 Key: HBASE-3873
>                 URL: https://issues.apache.org/jira/browse/HBASE-3873
>             Project: HBase
>          Issue Type: Improvement
>          Components: build
>    Affects Versions: 0.90.2
>         Environment: Linux
>            Reporter: Alejandro Abdelnur
>            Assignee: Alejandro Abdelnur
>              Labels: build
>         Attachments: HBASE-3873.patch
>
>
> (This JIRA builds on HBASE-3691)
> I'm working on simplifying how to use Hadoop Snappy from other based maven projects. The idea is that hadoop-snappy JAR and the SOs (snappy and hadoop-snappy) would be picked up from a Maven repository (like any other dependencies). SO files will be picked up based on the architecture where the build is running (32 or 64 bits).
> For Hbase this would remove the need to manually copy snappy JAR and SOs (snappy and hadoop-snappy) into HADOOP_HOME/lib or HBASE_HOME/lib and hadoop-snappy would be handled as a regular maven dependency (with a trick for the SOs file).
> The changes would affect only the pom.xml and the would be in a 'snappy' profile, thus requiring '-Dsnappy' option in Maven invocations to trigger the including of snappy JAR and SOs.
> Because hadoop-snappy (JAR and SOs) are not currently avail in public Maven repos, until that happens, Hbase developer would have to checkout and 'mvn install' hadoop-snappy. Which is (IMO) simpler than what will have to be done in once HBASE-3691 is committed.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira