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

Sushanth Sowmyan updated HCATALOG-589:
--------------------------------------

    Attachment: HCAT-589.patch

Attaching patch for the base suggestion with guava inside share/hcatalog/lib 
and protobuf inside share/hcatalog/storage-handlers/hbase/lib/
                
> Dependent library packaging
> ---------------------------
>
>                 Key: HCATALOG-589
>                 URL: https://issues.apache.org/jira/browse/HCATALOG-589
>             Project: HCatalog
>          Issue Type: Improvement
>            Reporter: Sushanth Sowmyan
>         Attachments: HCAT-589.patch
>
>
> During doing my e2e testing, I ran into issues because hcat depends on guava 
> 11+, whereas only hive/lib provides only guava-r09. Since we depend on a 
> newer version of guava, we should include it in our distribution packaging.
> Then comes the issue of where to put in such a dependency. The standard we 
> used to have before we cleaned up our dependencies was that hcat libraries 
> themselves were in share/hcatalog/ and dependencies were in 
> share/hcatalog/lib. I think that this is a reasonable practice to separate 
> them out, since we want people who want only hcat libraries to be able to get 
> them without the deps, and those that want the libraries and its deps, can 
> get both directories.
> So, ideally, I'd put guava.jar inside share/hcatalog/lib, whereas 
> hcatalog.jar remains in share/hcatalog/. This way, we don't "pollute" 
> share/hcatalog/
> Now, normally, this would be trivial, and I'd just add it, but the reason I 
> wanted to open a discussion on this is because we now have further 
> components, such as the hbase storage handler, which also has an additional 
> dependency on protobuf.jar. Now, if we were to follow the same logic as 
> above, then the directory, then, given that the storage handler itself 
> resides in share/hcatalog/storage-handlers/hbase/lib/, the equivalent place 
> to put the protobuf jar is share/hcatalog/storage-handlers/hbase/lib/lib , 
> which feels icky to me.
> So.. ideas? preferences?
> (In other news, I'll create another jira for this, but I believe we should 
> clean up our directory structure of our packaging further by 0.6 timeframe - 
> the whole share/hcatalog/ stuff is a relic from when we were trying to come 
> up with a unified packaging structure that would work if a person were to 
> minimally create a .rpm or .deb on it and dump these files wholesale into 
> /usr, or if they used a HCAT_PREFIX structure. Given that we now have bigtop 
> providing packaging on top of hcat, we can clean this up).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to