[
https://issues.apache.org/jira/browse/PIG-924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745160#action_12745160
]
Daniel Dai commented on PIG-924:
--------------------------------
>From your latest patch, shims works this way
1. The version of shims Pig compiles is controlled by "hadoop.version" property
in build.xml
2. The version of shims Pig uses is determined dynamically by hacking the
string returned by VersionInfo.getVersion
As in your code comment, version string hack is not safe. My thinking is that
pig only use bundled hadoop unless override:
1. Pig compile all version of shims, There is no conflict between different
version of shims, why not compile them all? So user do not need to recompile
the code if he want to use different external hadoop.
2. Pig bundles a default hadoop, which is specified by hadoop.version in
build.xml. Pig use this version of shims by default
3. If user want to use an external hadoop, he/she need to override the default
hadoop version explicitly, eg, "-Dhadoop_version" in command line.
> Make Pig work with multiple versions of Hadoop
> ----------------------------------------------
>
> Key: PIG-924
> URL: https://issues.apache.org/jira/browse/PIG-924
> Project: Pig
> Issue Type: Bug
> Reporter: Dmitriy V. Ryaboy
> Attachments: pig_924.2.patch, pig_924.3.patch, pig_924.patch
>
>
> The current Pig build scripts package hadoop and other dependencies into the
> pig.jar file.
> This means that if users upgrade Hadoop, they also need to upgrade Pig.
> Pig has relatively few dependencies on Hadoop interfaces that changed between
> 18, 19, and 20. It is possibly to write a dynamic shim that allows Pig to
> use the correct calls for any of the above versions of Hadoop. Unfortunately,
> the building process precludes us from the ability to do this at runtime, and
> forces an unnecessary Pig rebuild even if dynamic shims are created.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.