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

Abhishek Bafna commented on OOZIE-2845:
---------------------------------------

[~pbacsko] I think 
{{HiveConf.setHiveSiteLocation(null);}}  
should be  
{{HiveConf.setHiveSiteLocation(HiveConf.class.getClassLoader().getResource("hive-site.xml"));}}

Because, we set the {{hiveSiteURL}} to the available {{hive-site.xml}} in the 
classpath.

Did we test this, on actual cluster? If not, we should I guess.

Thanks.

> Replace reflection-based code which sets variable in HiveConf
> -------------------------------------------------------------
>
>                 Key: OOZIE-2845
>                 URL: https://issues.apache.org/jira/browse/OOZIE-2845
>             Project: Oozie
>          Issue Type: Improvement
>          Components: core
>            Reporter: Peter Bacsko
>            Assignee: Peter Bacsko
>         Attachments: OOZIE-2845-001.patch
>
>
> In different places, we use the following reflection-based code to reset a 
> variable inside {{HiveConf.java}}
> {code}
>     public static void resetHiveConfStaticVariables() throws Exception {
>         // HiveConf initializes location of hive-site.xml in static block.
>         // So this is needed so that tests like TestHiveMain that create 
> hive-site.xml don't fail.
>         Field declaredField = HiveConf.class.getDeclaredField("hiveSiteURL");
>         declaredField.setAccessible(true);
>         declaredField.set(null, 
> HiveConf.class.getClassLoader().getResource("hive-site.xml"));
>     }
> {code}
> Note that HiveConf has supported setting {{hiveSiteURL}} for a long time. 
> Even version 0.13.0 has the static setter method:
> https://github.com/apache/hive/blob/branch-0.13/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java#L1493-L1495
> Therefore reflection-based solution should be modified.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to