Uploaded image for project: 'Oozie'
  1. Oozie
  2. OOZIE-2845

Replace reflection-based code which sets variable in HiveConf

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 5.0.0b1
    • core
    • None

    Description

      In different places, we use the following reflection-based code to reset a variable inside HiveConf.java

          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"));
          }
      

      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.

      Attachments

        1. OOZIE-2845-001.patch
          3 kB
          Peter Bacsko
        2. OOZIE-2845-002.patch
          4 kB
          Peter Bacsko

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            pbacsko Peter Bacsko
            pbacsko Peter Bacsko
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment