You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Nick Dimiduk (JIRA)" <ji...@apache.org> on 2013/07/23 20:00:52 UTC

[jira] [Commented] (HBASE-8438) Extend bin/hbase to print a "minimal classpath" for used by other tools

    [ https://issues.apache.org/jira/browse/HBASE-8438?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13716663#comment-13716663 ] 

Nick Dimiduk commented on HBASE-8438:
-------------------------------------

As commented on HIVE-2055, the YARN folk have solved a related problem. They have a similar difficulty in line lengths when establishing runtime environments on Windows. Their solution is in YARN-316 and the method {{FileUtil#createJarWithClassPath()}}. The caller provides a {{PATH}} string and this method creates a temporary jar on the local fs, containing manifest classpath entries for all of the entries in the PATH-like argument. Variables and wild-cards are expanded. The method returns a String which is the path to this local jar.

Perhaps we can use this to solve the classpath woes for our friends? I like it because it doesn't keep us in the business of custom classpath parsing and set manipulations on strings passed from shell scripts.
                
> Extend bin/hbase to print a "minimal classpath" for used by other tools
> -----------------------------------------------------------------------
>
>                 Key: HBASE-8438
>                 URL: https://issues.apache.org/jira/browse/HBASE-8438
>             Project: HBase
>          Issue Type: Improvement
>          Components: scripts
>    Affects Versions: 0.94.6.1, 0.95.0
>            Reporter: Nick Dimiduk
>            Assignee: Nick Dimiduk
>         Attachments: 0001-HBASE-8438-Extend-bin-hbase-to-print-a-minimal-class.patch, 0001-HBASE-8438-Extend-bin-hbase-to-print-a-minimal-class.patch, 0001-HBASE-8438-Extend-bin-hbase-to-print-a-minimal-class.patch
>
>
> For tools like pig and hive, blindly appending the full output of `bin/hbase classpath` to their own CLASSPATH is excessive. They already build CLASSPATH entries for hadoop. All they need from us is the delta entries, the dependencies we require w/o hadoop and all of it's transitive deps. This is also a kindness for Windows, where there's a shorter limit on the length of commandline arguments.
> See also HIVE-2055 for additional discussion.

--
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